MLIR
15.0.0git
|
#include "mlir/IR/BlockAndValueMapping.h"
Public Member Functions | |
void | map (Block *from, Block *to) |
Inserts a new mapping for 'from' to 'to'. More... | |
void | map (Value from, Value to) |
template<typename S , typename T , std::enable_if_t<!std::is_assignable< Value, S >::value &&!std::is_assignable< Block *, S >::value > * = nullptr> | |
void | map (S &&from, T &&to) |
void | erase (Block *from) |
Erases a mapping for 'from'. More... | |
void | erase (Value from) |
bool | contains (Block *from) const |
Checks to see if a mapping for 'from' exists. More... | |
bool | contains (Value from) const |
Block * | lookupOrNull (Block *from) const |
Lookup a mapped value within the map. More... | |
Value | lookupOrNull (Value from) const |
Block * | lookupOrDefault (Block *from) const |
Lookup a mapped value within the map. More... | |
Value | lookupOrDefault (Value from) const |
template<typename T > | |
T | lookup (T from) const |
Lookup a mapped value within the map. More... | |
void | clear () |
Clears all mappings held by the mapper. More... | |
const DenseMap< Value, Value > & | getValueMap () const |
Return the held value mapping. More... | |
const DenseMap< Block *, Block * > & | getBlockMap () const |
Return the held block mapping. More... | |
Definition at line 26 of file BlockAndValueMapping.h.
|
inline |
Clears all mappings held by the mapper.
Definition at line 73 of file BlockAndValueMapping.h.
Referenced by addExecuteResults(), and hoistAffineIfOp().
|
inline |
Checks to see if a mapping for 'from' exists.
Definition at line 47 of file BlockAndValueMapping.h.
Referenced by mlir::Region::cloneInto(), and inlineRegionImpl().
|
inline |
Definition at line 48 of file BlockAndValueMapping.h.
Erases a mapping for 'from'.
Definition at line 43 of file BlockAndValueMapping.h.
Definition at line 44 of file BlockAndValueMapping.h.
Return the held block mapping.
Definition at line 79 of file BlockAndValueMapping.h.
References value.
Return the held value mapping.
Definition at line 76 of file BlockAndValueMapping.h.
|
inline |
Lookup a mapped value within the map.
This asserts the provided value exists within the map.
Definition at line 66 of file BlockAndValueMapping.h.
References lookupOrNull().
Referenced by mlir::Region::cloneInto(), mlir::ConversionPatternRewriter::cloneRegionBefore(), generateUnrolledLoop(), mlir::linalg::hoistPaddingOnTensors(), mlir::ReductionNode::initialize(), outlineKernelFuncImpl(), reduceIfNeeded(), remainsLegalAfterInline(), vectorizeLinalgYield(), and vectorizeOneOp().
Lookup a mapped value within the map.
If a mapping for the provided value does not exist then return the provided value.
Definition at line 59 of file BlockAndValueMapping.h.
Referenced by mlir::Operation::clone(), mlir::Region::cloneInto(), generateFusedElementwiseOpRegion(), mlir::scf::getParallelForInductionVarOwner(), haveNoReadsAfterWriteExceptSameIndex(), mlir::linalg::hoistPaddingOnTensors(), inlineRegionAndEmitStore(), joinShapes(), and processParallelLoop().
Definition at line 62 of file BlockAndValueMapping.h.
Lookup a mapped value within the map.
If a mapping for the provided value does not exist then return nullptr.
Definition at line 52 of file BlockAndValueMapping.h.
Referenced by mlir::spirv::Deserializer::collect(), lookup(), and remapInlinedOperands().
Definition at line 55 of file BlockAndValueMapping.h.
Inserts a new mapping for 'from' to 'to'.
If there is an existing mapping, it is overwritten.
Definition at line 30 of file BlockAndValueMapping.h.
Referenced by mlir::Operation::clone(), mlir::Region::cloneInto(), collapseGenericOpIterationDims(), mlir::spirv::Deserializer::collect(), createFullPartialVectorTransferWrite(), createFullTiles(), createParallelComputeFunction(), fuseIfLegal(), generateFusedElementwiseOpRegion(), generateShiftedLoop(), generateUnrolledLoop(), mlir::scf::getParallelForInductionVarOwner(), mlir::linalg::hoistPaddingOnTensors(), injectGpuIndexOperations(), mlir::inlineCall(), inlineRegionAndEmitStore(), inlineRegionImpl(), isSumOfMul(), joinShapes(), map(), CanonicalizeContractAdd< AddOpType >::matchAndRewrite(), outlineExecuteOp(), outlineKernelFuncImpl(), mlir::outlineSingleBlockRegion(), processParallelLoop(), specializeForLoopForUnrolling(), specializeParallelLoopForUnrolling(), mlir::vector::splitFullAndPartialTransfer(), vectorizeAsLinalgGeneric(), and verifyDependencies().
Definition at line 31 of file BlockAndValueMapping.h.
References value.
|
inline |
Definition at line 37 of file BlockAndValueMapping.h.
References map().