MLIR  16.0.0git
Classes | Namespaces | Functions
TransformInterfaces.h File Reference
#include "mlir/IR/OpDefinition.h"
#include "mlir/Interfaces/SideEffectInterfaces.h"
#include "llvm/ADT/ScopeExit.h"
#include "mlir/Dialect/Transform/IR/TransformInterfaces.h.inc"
+ Include dependency graph for TransformInterfaces.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  mlir::DiagnosedSilenceableFailure
 The result of a transform IR operation application. More...
 
class  mlir::transform::TransformOptions
 Options controlling the application of transform operations by the TransformState. More...
 
class  mlir::transform::TransformState
 The state maintained across applications of various ops implementing the TransformOpInterface. More...
 
class  mlir::transform::TransformState::RegionScope
 A RAII object maintaining a "stack frame" for a transform IR region. More...
 
class  mlir::transform::TransformState::Extension
 Base class for TransformState extensions that allow TransformState to contain user-specified information in the state object. More...
 
class  mlir::transform::TransformResults
 Local mapping between values defined by a specific op implementing the TransformOpInterface and the payload IR ops they correspond to. More...
 
class  mlir::transform::PossibleTopLevelTransformOpTrait< OpTy >
 This trait is supposed to be attached to Transform dialect operations that can be standalone top-level transforms. More...
 
class  mlir::transform::TransformEachOpTrait< OpTy >
 Trait implementing the TransformOpInterface for operations applying a transformation to a single operation handle and producing zero, one or multiple operation handles. More...
 
struct  mlir::transform::TransformMappingResource
 Side effect resource corresponding to the mapping between Transform IR values and Payload IR operations. More...
 
struct  mlir::transform::PayloadIRResource
 Side effect resource corresponding to the Payload IR itself. More...
 
class  mlir::transform::FunctionalStyleTransformOpTrait< OpTy >
 Trait implementing the MemoryEffectOpInterface for operations that "consume" their operands and produce new results. More...
 
class  mlir::transform::NavigationTransformOpTrait< OpTy >
 Trait implementing the MemoryEffectOpInterface for single-operand single-result operations that use their operand without consuming and without modifying the Payload IR to produce a new handle. More...
 

Namespaces

 mlir
 Include the generated interface declarations.
 
 mlir::transform
 
 mlir::transform::detail
 

Functions

LogicalResult mlir::transform::detail::mapPossibleTopLevelTransformOpBlockArguments (TransformState &state, Operation *op, Region &region)
 Maps the only block argument of the op with PossibleTopLevelTransformOpTrait to either the list of operations associated with its operand or the root of the payload IR, depending on what is available in the context. More...
 
LogicalResult mlir::transform::detail::verifyPossibleTopLevelTransformOpTrait (Operation *op)
 Verification hook for PossibleTopLevelTransformOpTrait. More...
 
void mlir::transform::consumesHandle (ValueRange handles, SmallVectorImpl< MemoryEffects::EffectInstance > &effects)
 Populates effects with the memory effects indicating the operation on the given handle value: More...
 
void mlir::transform::producesHandle (ValueRange handles, SmallVectorImpl< MemoryEffects::EffectInstance > &effects)
 
void mlir::transform::onlyReadsHandle (ValueRange handles, SmallVectorImpl< MemoryEffects::EffectInstance > &effects)
 
bool mlir::transform::isHandleConsumed (Value handle, transform::TransformOpInterface transform)
 Checks whether the transform op consumes the given handle. More...
 
void mlir::transform::modifiesPayload (SmallVectorImpl< MemoryEffects::EffectInstance > &effects)
 Populates effects with the memory effects indicating the access to payload IR resource. More...
 
void mlir::transform::onlyReadsPayload (SmallVectorImpl< MemoryEffects::EffectInstance > &effects)
 
template<typename FnTy >
DiagnosedSilenceableFailure mlir::transform::detail::applyTransformToEach (Location loc, int expectedNumResults, ArrayRef< Operation *> targets, SmallVectorImpl< SmallVector< Operation *>> &results, FnTy transform)
 Applies a one-to-one or a one-to-many transform to each of the given targets. More...
 
static SmallVector< SmallVector< Operation *, 1 > > mlir::transform::detail::transposeResults (const SmallVector< SmallVector< Operation *>, 1 > &m)
 Helper function: transpose MxN into NxM; assumes that the input is a valid. More...