◆ BlockActionKind
The kind of the block action performed during the rewrite. Actions can be undone if the conversion fails.
Enumerator |
---|
Create | |
Move | |
Split | |
TypeConversion | |
◆ ConversionPatternRewriterImpl()
◆ applyRewrites()
void ConversionPatternRewriterImpl::applyRewrites |
( |
| ) |
|
Apply all requested operation rewrites. This method is invoked when the conversion process succeeds.
◆ applySignatureConversion()
Apply a signature conversion on the given region.
◆ convertBlockSignature()
Convert the signature of the given block.
◆ discardRewrites()
void ConversionPatternRewriterImpl::discardRewrites |
( |
| ) |
|
Cleanup and destroy any generated rewrite operations. This method is invoked when the conversion process fails.
◆ getCurrentState()
RewriterState ConversionPatternRewriterImpl::getCurrentState |
( |
| ) |
|
Return the current state of the rewriter.
◆ isOpIgnored()
bool ConversionPatternRewriterImpl::isOpIgnored |
( |
Operation * |
op | ) |
const |
Returns true if the given operation is ignored, and does not need to be converted.
◆ markNestedOpsIgnored()
void ConversionPatternRewriterImpl::markNestedOpsIgnored |
( |
Operation * |
op | ) |
|
Recursively marks the nested operations under 'op' as ignored. This removes them from being considered for legalization.
◆ notifyRegionIsBeingInlinedBefore()
Notifies that the blocks of a region are about to be moved.
◆ notifyRegionWasClonedBefore()
Notifies that the blocks of a region were cloned into another.
◆ notifySplitBlock()
void ConversionPatternRewriterImpl::notifySplitBlock |
( |
Block * |
block, |
|
|
Block * |
continuation |
|
) |
| |
Notifies that a block was split.
◆ remapValues()
Remap the given operands to those with potentially different types.
◆ replaceOp()
PatternRewriter hook for replacing the results of an operation.
Mark this operation as recursively ignored so that we don't need to convert any nested operations.
◆ resetState()
void ConversionPatternRewriterImpl::resetState |
( |
RewriterState |
state | ) |
|
Reset the state of the rewriter to a previously saved point.
◆ undoBlockActions()
void ConversionPatternRewriterImpl::undoBlockActions |
( |
unsigned |
numActionsToKeep = 0 | ) |
|
Undo the block actions (motions, splits) one by one in reverse order until "numActionsToKeep" actions remains.
◆ argConverter
ArgConverter mlir::detail::ConversionPatternRewriterImpl::argConverter |
Utility used to convert block arguments.
◆ blockActions
Ordered list of block operations (creations, splits, motions).
◆ createdOps
std::vector<Operation *> mlir::detail::ConversionPatternRewriterImpl::createdOps |
Ordered vector of all of the newly created operations during conversion.
◆ ignoredOps
llvm::SetVector<Operation *> mlir::detail::ConversionPatternRewriterImpl::ignoredOps |
A set of operations that have been erased/replaced/etc that should no longer be considered for legalization. This is not meant to be an exhaustive list of all operations, but the minimal set that can be used to detect if a given operation should be ignored
. For example, we may add the operations that define non-empty regions to the set, but not any of the others. This simplifies the amount of memory needed as we can query if the parent operation was ignored.
◆ mapping
ConversionValueMapping mlir::detail::ConversionPatternRewriterImpl::mapping |
◆ pendingRootUpdates
A set of operations that have pending updates. This tracking isn't strictly necessary, and is thus only active during debug builds for extra verification.
◆ replacements
Ordered vector of any requested operation replacements.
◆ rootUpdates
SmallVector<OperationTransactionState, 4> mlir::detail::ConversionPatternRewriterImpl::rootUpdates |
A transaction state for each of operations that were updated in-place.
The documentation for this struct was generated from the following file: