MLIR 22.0.0git
EraseUnusedOperandsAndResults.cpp File Reference

Go to the source code of this file.

Functions

static bool isResultValueDead (linalg::GenericOp genericOp, OpResult result)
 Return true if the result of an operation genericOp is dead.
static llvm::SmallDenseMap< unsigned, unsigneddeduplicateInputOperands (GenericOp genericOp, SmallVector< OpOperand * > &droppedOpOperands, SmallVector< Value > &newInputOperands, SmallVector< AffineMap > &newIndexingMaps)
static llvm::SmallDenseMap< unsigned, unsigneddeduplicateOutputOperands (GenericOp genericOp, SmallVector< OpOperand * > &droppedOpOperands, SmallVector< Value > &newOutputOperands, SmallVector< AffineMap > &newIndexingMaps, bool removeOutputs)
static void populateOpPayload (GenericOp genericOp, GenericOp newOp, const llvm::SmallDenseMap< unsigned, unsigned > &origInsToNewInsPos, const llvm::SmallDenseMap< unsigned, unsigned > &origOutsToNewOutsPos, RewriterBase &rewriter)

Function Documentation

◆ deduplicateInputOperands()

llvm::SmallDenseMap< unsigned, unsigned > deduplicateInputOperands ( GenericOp genericOp,
SmallVector< OpOperand * > & droppedOpOperands,
SmallVector< Value > & newInputOperands,
SmallVector< AffineMap > & newIndexingMaps )
static

◆ deduplicateOutputOperands()

llvm::SmallDenseMap< unsigned, unsigned > deduplicateOutputOperands ( GenericOp genericOp,
SmallVector< OpOperand * > & droppedOpOperands,
SmallVector< Value > & newOutputOperands,
SmallVector< AffineMap > & newIndexingMaps,
bool removeOutputs )
static

◆ isResultValueDead()

bool isResultValueDead ( linalg::GenericOp genericOp,
OpResult result )
static

Return true if the result of an operation genericOp is dead.

Definition at line 17 of file EraseUnusedOperandsAndResults.cpp.

References mlir::Value::hasOneUse(), result, mlir::Operation::use_empty(), and mlir::Value::user_begin().

Referenced by deduplicateOutputOperands().

◆ populateOpPayload()

void populateOpPayload ( GenericOp genericOp,
GenericOp newOp,
const llvm::SmallDenseMap< unsigned, unsigned > & origInsToNewInsPos,
const llvm::SmallDenseMap< unsigned, unsigned > & origOutsToNewOutsPos,
RewriterBase & rewriter )
static