MLIR 22.0.0git
mlir::transform Namespace Reference

Namespaces

namespace  detail
namespace  gpu
namespace  impl

Classes

class  ApplyToEachResultList
 A list of results of applying a transform op with ApplyEachOpTrait to a single payload operation, co-indexed with the results of the transform op. More...
class  AtMostOneOpMatcherOpTrait
class  BuildOnly
 A wrapper for transform dialect extensions that forces them to be constructed in the build-only mode. More...
class  ErrorCheckingTrackingListener
 A specialized listener that keeps track of cases in which no replacement payload could be found. More...
class  FunctionalStyleTransformOpTrait
 Trait implementing the MemoryEffectOpInterface for operations that "consume" their operands and produce new results. More...
struct  InterpreterPassOptions
class  NavigationTransformOpTrait
 Trait implementing the MemoryEffectOpInterface for operations that use their operands without consuming and without modifying the Payload IR to potentially produce new handles. More...
struct  NumThreadsSpec
class  ParamProducerTransformOpTrait
 Trait implementing the MemoryEffectsOpInterface for operations that produce transform dialect parameters. More...
struct  PayloadIRResource
 Side effect resource corresponding to the Payload IR itself. More...
class  PDLMatchHooks
 PDL constraint callbacks that can be used by the PDL extension of the Transform dialect. More...
class  PossibleTopLevelTransformOpTrait
 This trait is supposed to be attached to Transform dialect operations that can be standalone top-level transforms. More...
struct  PreloadLibraryPassOptions
class  ReportTrackingListenerFailuresOpTrait
 TrackingListener failures are reported only for ops that have this trait. More...
class  SingleOpMatcherOpTrait
class  SingleValueMatcherOpTrait
class  StructuredOpPredicateOpTrait
struct  TileSizesSpec
class  TrackingListener
 A listener that updates a TransformState based on IR modifications. More...
struct  TrackingListenerConfig
 A configuration object for customizing a TrackingListener. More...
class  TransformDialectData
 Base class for additional data owned by the Transform dialect. More...
class  TransformDialectExtension
 Base class for extensions of the Transform dialect that supports injecting operations into the Transform dialect at load time. More...
class  TransformEachOpTrait
 Trait implementing the TransformOpInterface for operations applying a transformation to a single operation handle and producing an arbitrary number of handles and parameter values. More...
struct  TransformMappingResource
 Side effect resource corresponding to the mapping between Transform IR values and Payload IR operations. More...
class  TransformOptions
 Options controlling the application of transform operations by the TransformState. More...
class  TransformResults
 Local mapping between values defined by a specific op implementing the TransformOpInterface and the payload IR ops they correspond to. More...
class  TransformRewriter
 This is a special rewriter to be used in transform op implementations, providing additional helper functions to update the transform state, etc. More...
class  TransformState
 The state maintained across applications of various ops implementing the TransformOpInterface. More...

Typedefs

using Param = Attribute
using MappedValue = llvm::PointerUnion<Operation *, Param, Value>
using ApplyToEachResult = MappedValue
 A single result of applying a transform op with ApplyEachOpTrait to a single payload operation.
using SequenceBodyBuilderFn
 A builder function that populates the body of a SequenceOp.
using SequenceBodyBuilderArgsFn

Functions

DiagnosedSilenceableFailure tileToForallOpImpl (RewriterBase &rewriter, transform::TransformState &state, TransformOpInterface transformOp, Operation *target, ArrayRef< OpFoldResult > mixedNumThreads, ArrayRef< OpFoldResult > mixedTileSizes, std::optional< ArrayAttr > mapping, scf::SCFTilingResult &tilingResult)
 Implementation of tiling operations using scf.forall.
void registerDebugExtension (DialectRegistry &dialectRegistry)
 Registers the debug extension of the Transform dialect in the given registry.
ParseResult parseTransformMatchDims (OpAsmParser &parser, DenseI64ArrayAttr &rawDimList, UnitAttr &isInverted, UnitAttr &isAll)
 Parses a positional index specification for transform match operations.
void printTransformMatchDims (OpAsmPrinter &printer, Operation *op, DenseI64ArrayAttr rawDimList, UnitAttr isInverted, UnitAttr isAll)
 Prints a positional index specification for transform match operations.
LogicalResult verifyTransformMatchDimsOp (Operation *op, ArrayRef< int64_t > raw, bool inverted, bool all)
 Checks if the positional specification defined is valid and reports errors otherwise.
DiagnosedSilenceableFailure expandTargetSpecification (Location loc, bool isAll, bool isInverted, ArrayRef< int64_t > rawList, int64_t maxNumber, SmallVectorImpl< int64_t > &result)
 Populates result with the positional identifiers relative to maxNumber.
LogicalResult applyTransforms (Operation *payloadRoot, TransformOpInterface transform, const RaggedArray< MappedValue > &extraMapping={}, const TransformOptions &options=TransformOptions(), bool enforceToplevelTransformOp=true, function_ref< void(TransformState &)> stateInitializer=nullptr, function_ref< LogicalResult(TransformState &)> stateExporter=nullptr)
 Entry point to the Transform dialect infrastructure.
void consumesHandle (MutableArrayRef< OpOperand > handles, SmallVectorImpl< MemoryEffects::EffectInstance > &effects)
 Populates effects with the memory effects indicating the operation on the given handle value:
void producesHandle (ResultRange handles, SmallVectorImpl< MemoryEffects::EffectInstance > &effects)
void producesHandle (MutableArrayRef< BlockArgument > handles, SmallVectorImpl< MemoryEffects::EffectInstance > &effects)
void onlyReadsHandle (MutableArrayRef< OpOperand > handles, SmallVectorImpl< MemoryEffects::EffectInstance > &effects)
bool isHandleConsumed (Value handle, transform::TransformOpInterface transform)
 Checks whether the transform op consumes the given handle.
void modifiesPayload (SmallVectorImpl< MemoryEffects::EffectInstance > &effects)
 Populates effects with the memory effects indicating the access to payload IR resource.
void onlyReadsPayload (SmallVectorImpl< MemoryEffects::EffectInstance > &effects)
bool doesModifyPayload (transform::TransformOpInterface transform)
 Checks whether the transform op modifies the payload.
bool doesReadPayload (transform::TransformOpInterface transform)
 Checks whether the transform op reads the payload.
void getConsumedBlockArguments (Block &block, llvm::SmallDenseSet< unsigned > &consumedArguments)
 Populates consumedArguments with positions of block arguments that are consumed by the operations in the block.
void registerIRDLExtension (DialectRegistry &dialectRegistry)
 Registers the IRDL extension of the Transform dialect in the given registry.
void registerLoopExtension (DialectRegistry &dialectRegistry)
 Registers the loop extension of the Transform dialect in the given registry.
void registerPDLExtension (DialectRegistry &dialectRegistry)
 Registers the PDL extension of the Transform dialect in the given registry.
void registerSMTExtension (DialectRegistry &dialectRegistry)
 Registers the SMT extension of the Transform dialect in the given registry.
std::unique_ptr<::mlir::PasscreateCheckUsesPass ()
std::unique_ptr<::mlir::PasscreateInferEffectsPass ()
std::unique_ptr<::mlir::PasscreateInterpreterPass ()
std::unique_ptr<::mlir::PasscreateInterpreterPass (InterpreterPassOptions options)
std::unique_ptr<::mlir::PasscreatePreloadLibraryPass ()
std::unique_ptr<::mlir::PasscreatePreloadLibraryPass (PreloadLibraryPassOptions options)
void registerCheckUsesPass ()
void registerCheckUsesPassPass ()
void registerInferEffectsPass ()
void registerInferEffectsPassPass ()
void registerInterpreterPass ()
void registerInterpreterPassPass ()
void registerPreloadLibraryPass ()
void registerPreloadLibraryPassPass ()
void registerTransformPasses ()
LogicalResult applyTransformNamedSequence (Operation *payload, Operation *transformRoot, ModuleOp transformModule, const TransformOptions &options)
 Standalone util to apply the named sequence transformRoot to payload IR.
LogicalResult applyTransformNamedSequence (RaggedArray< MappedValue > bindings, TransformOpInterface transformRoot, ModuleOp transformModule, const TransformOptions &options)
void registerTuneExtension (DialectRegistry &dialectRegistry)
 Registers the tune extension of the Transform dialect in the given registry.
void printPackedOrDynamicIndexList (OpAsmPrinter &printer, Operation *op, Value packed, Type packedType, OperandRange values, TypeRange valueTypes, DenseI64ArrayAttr integers)
 Printer hook for custom directive in assemblyFormat.
void printPackedOrDynamicIndexList (OpAsmPrinter &printer, Operation *op, Value packed, OperandRange values, DenseI64ArrayAttr integers)
ParseResult parsePackedOrDynamicIndexList (OpAsmParser &parser, std::optional< OpAsmParser::UnresolvedOperand > &packed, Type &packedType, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &values, SmallVectorImpl< Type > *valueTypes, DenseI64ArrayAttr &integers)
 Parser hook for custom directive in assemblyFormat.
ParseResult parsePackedOrDynamicIndexList (OpAsmParser &parser, std::optional< OpAsmParser::UnresolvedOperand > &packed, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &values, DenseI64ArrayAttr &integers)

Typedef Documentation

◆ ApplyToEachResult

A single result of applying a transform op with ApplyEachOpTrait to a single payload operation.

Definition at line 1405 of file TransformInterfaces.h.

◆ MappedValue

◆ Param

Definition at line 29 of file TransformInterfaces.h.

◆ SequenceBodyBuilderArgsFn

Initial value:
This class represents an argument of a Block.
Definition Value.h:309
This class defines the main interface for locations in MLIR and acts as a non-nullable wrapper around...
Definition Location.h:76
This class helps build Operations.
Definition Builders.h:207
This class provides an abstraction over the different types of ranges over Values.
Definition ValueRange.h:387

Definition at line 37 of file TransformOps.h.

◆ SequenceBodyBuilderFn

Initial value:

A builder function that populates the body of a SequenceOp.

Definition at line 35 of file TransformOps.h.

Function Documentation

◆ applyTransformNamedSequence() [1/2]

LogicalResult mlir::transform::applyTransformNamedSequence ( Operation * payload,
Operation * transformRoot,
ModuleOp transformModule,
const TransformOptions & options )

Standalone util to apply the named sequence transformRoot to payload IR.

This is done in 2 steps:

  1. If transformModule is provided and is not nested under transformRoot, it will be "linked into" the IR containing transformRoot to resolve undefined named sequences.
  2. The transforms specified in transformRoot are applied to payload, assuming the named sequence has a single argument handle that will be associated with payload on run.

Definition at line 255 of file TransformInterpreterUtils.cpp.

References applyTransformNamedSequence(), options, and mlir::RaggedArray< T >::push_back().

Referenced by applyTransformNamedSequence(), and mlirTransformApplyNamedSequence().

◆ applyTransformNamedSequence() [2/2]

LogicalResult mlir::transform::applyTransformNamedSequence ( RaggedArray< MappedValue > bindings,
TransformOpInterface transformRoot,
ModuleOp transformModule,
const TransformOptions & options )

◆ applyTransforms()

LogicalResult mlir::transform::applyTransforms ( Operation * payloadRoot,
TransformOpInterface transform,
const RaggedArray< MappedValue > & extraMapping = {},
const TransformOptions & options = TransformOptions(),
bool enforceToplevelTransformOp = true,
function_ref< void(TransformState &)> stateInitializer = nullptr,
function_ref< LogicalResult(TransformState &)> stateExporter = nullptr )

Entry point to the Transform dialect infrastructure.

Applies the transformation specified by transform to payload IR contained in payloadRoot. The transform operation may contain other operations that will be executed following the internal logic of the operation. It must have the PossibleTopLevelTransformOp trait and not have any operands. This function internally keeps track of the transformation state.

Definition at line 1992 of file TransformInterfaces.cpp.

References mlir::transform::TransformState::applyTransform(), mlir::DiagnosedSilenceableFailure::checkAndReport(), options, success(), and mlir::transform::detail::verifyPossibleTopLevelTransformOpTrait().

Referenced by applyTransformNamedSequence().

◆ consumesHandle()

void mlir::transform::consumesHandle ( MutableArrayRef< OpOperand > handles,
SmallVectorImpl< MemoryEffects::EffectInstance > & effects )

Populates effects with the memory effects indicating the operation on the given handle value:

  • consumes = Read + Free,
  • produces = Allocate + Write,
  • onlyReads = Read.

Definition at line 1791 of file TransformInterfaces.cpp.

References mlir::SideEffects::Effect::Base< DerivedEffect, Effect >::get(), and mlir::SideEffects::Resource::Base< TransformMappingResource >::get().

Referenced by mlir::transform::FunctionalStyleTransformOpTrait< OpTy >::getEffects().

◆ createCheckUsesPass()

std::unique_ptr<::mlir::Pass > mlir::transform::createCheckUsesPass ( )

We declare an explicit private instantiation because Pass classes should only be visible by the current library.

Definition at line 82 of file CheckUses.cpp.

References mlir::WalkResult::advance(), mlir::WalkResult::skip(), and mlir::Operation::walk().

◆ createInferEffectsPass()

std::unique_ptr<::mlir::Pass > mlir::transform::createInferEffectsPass ( )

We declare an explicit private instantiation because Pass classes should only be visible by the current library.

Definition at line 157 of file InferEffects.cpp.

◆ createInterpreterPass() [1/2]

std::unique_ptr<::mlir::Pass > mlir::transform::createInterpreterPass ( )

Definition at line 261 of file InterpreterPass.cpp.

◆ createInterpreterPass() [2/2]

std::unique_ptr<::mlir::Pass > mlir::transform::createInterpreterPass ( InterpreterPassOptions options)

Definition at line 265 of file InterpreterPass.cpp.

◆ createPreloadLibraryPass() [1/2]

std::unique_ptr<::mlir::Pass > mlir::transform::createPreloadLibraryPass ( )

Definition at line 356 of file PreloadLibraryPass.cpp.

◆ createPreloadLibraryPass() [2/2]

std::unique_ptr<::mlir::Pass > mlir::transform::createPreloadLibraryPass ( PreloadLibraryPassOptions options)

Definition at line 360 of file PreloadLibraryPass.cpp.

◆ doesModifyPayload()

bool mlir::transform::doesModifyPayload ( transform::TransformOpInterface transform)

Checks whether the transform op modifies the payload.

Definition at line 1863 of file TransformInterfaces.cpp.

◆ doesReadPayload()

bool mlir::transform::doesReadPayload ( transform::TransformOpInterface transform)

Checks whether the transform op reads the payload.

Definition at line 1870 of file TransformInterfaces.cpp.

◆ expandTargetSpecification()

DiagnosedSilenceableFailure mlir::transform::expandTargetSpecification ( Location loc,
bool isAll,
bool isInverted,
ArrayRef< int64_t > rawList,
int64_t maxNumber,
SmallVectorImpl< int64_t > & result )

Populates result with the positional identifiers relative to maxNumber.

If isAll is set, the result will contain all numbers from 0 to maxNumber - 1 inclusive regardless of rawList. Otherwise, negative values from rawList are are interpreted as counting backwards from maxNumber, i.e., -1 is interpreted a maxNumber - 1, while positive numbers remain as is. If isInverted is set, populates result with those values from the 0 to maxNumber - 1 inclusive range that don't appear in rawList. If rawList contains values that are greater than or equal to maxNumber or less than -maxNumber, produces a silenceable error at the given location. maxNumber must be positive. If rawList contains duplicate numbers or numbers that become duplicate after negative value remapping, emits a silenceable error.

Definition at line 104 of file MatchInterfaces.cpp.

References mlir::emitSilenceableFailure(), result, mlir::DiagnosedSilenceableFailure::success(), and target.

◆ getConsumedBlockArguments()

void mlir::transform::getConsumedBlockArguments ( Block & block,
llvm::SmallDenseSet< unsigned > & consumedArguments )

Populates consumedArguments with positions of block arguments that are consumed by the operations in the block.

Referenced by inferSideEffectAnnotations(), and verifyFunctionLikeConsumeAnnotations().

◆ isHandleConsumed()

bool mlir::transform::isHandleConsumed ( Value handle,
transform::TransformOpInterface transform )

Checks whether the transform op consumes the given handle.

Definition at line 1812 of file TransformInterfaces.cpp.

References mlir::hasEffect().

Referenced by mlir::transform::TransformEachOpTrait< OpTy >::apply(), and mlir::transform::TransformState::applyTransform().

◆ modifiesPayload()

void mlir::transform::modifiesPayload ( SmallVectorImpl< MemoryEffects::EffectInstance > & effects)

Populates effects with the memory effects indicating the access to payload IR resource.

Definition at line 1852 of file TransformInterfaces.cpp.

References mlir::SideEffects::Effect::Base< DerivedEffect, Effect >::get(), and mlir::SideEffects::Resource::Base< PayloadIRResource >::get().

Referenced by mlir::transform::FunctionalStyleTransformOpTrait< OpTy >::getEffects().

◆ onlyReadsHandle()

◆ onlyReadsPayload()

◆ parsePackedOrDynamicIndexList() [1/2]

ParseResult mlir::transform::parsePackedOrDynamicIndexList ( OpAsmParser & parser,
std::optional< OpAsmParser::UnresolvedOperand > & packed,
SmallVectorImpl< OpAsmParser::UnresolvedOperand > & values,
DenseI64ArrayAttr & integers )
inline

Definition at line 57 of file Utils.h.

References parsePackedOrDynamicIndexList().

◆ parsePackedOrDynamicIndexList() [2/2]

ParseResult mlir::transform::parsePackedOrDynamicIndexList ( OpAsmParser & parser,
std::optional< OpAsmParser::UnresolvedOperand > & packed,
Type & packedType,
SmallVectorImpl< OpAsmParser::UnresolvedOperand > & values,
SmallVectorImpl< Type > * valueTypes,
DenseI64ArrayAttr & integers )

Parser hook for custom directive in assemblyFormat.

custom<PackedOrDynamicIndexList>($packed, type($packed), $values, type($values), $integers)

See printPackedOrDynamicIndexList for details.

Definition at line 33 of file Utils.cpp.

References mlir::AsmParser::getBuilder(), mlir::Builder::getDenseI64ArrayAttr(), mlir::AsmParser::parseColonType(), mlir::parseDynamicIndexList(), mlir::AsmParser::parseLParen(), mlir::OpAsmParser::parseOperand(), mlir::AsmParser::parseOptionalStar(), mlir::AsmParser::parseRParen(), and success().

Referenced by parsePackedOrDynamicIndexList().

◆ parseTransformMatchDims()

ParseResult mlir::transform::parseTransformMatchDims ( OpAsmParser & parser,
DenseI64ArrayAttr & rawDimList,
UnitAttr & isInverted,
UnitAttr & isAll )

Parses a positional index specification for transform match operations.

The following forms are accepted:

  • all: sets isAll and returns;
  • comma-separated-integer-list: populates rawDimList with the values;
  • except ( comma-separated-integer-list ): populates rawDimList with the values and sets isInverted.

Definition at line 25 of file MatchInterfaces.cpp.

References mlir::AsmParser::getBuilder(), mlir::Builder::getDenseI64ArrayAttr(), mlir::Builder::getUnitAttr(), kDimAllKeyword, kDimExceptKeyword, mlir::AsmParser::parseCommaSeparatedList(), mlir::AsmParser::parseInteger(), mlir::AsmParser::parseLParen(), mlir::AsmParser::parseOptionalKeyword(), mlir::AsmParser::parseRParen(), and success().

◆ printPackedOrDynamicIndexList() [1/2]

void mlir::transform::printPackedOrDynamicIndexList ( OpAsmPrinter & printer,
Operation * op,
Value packed,
OperandRange values,
DenseI64ArrayAttr integers )
inline

Definition at line 40 of file Utils.h.

References printPackedOrDynamicIndexList().

◆ printPackedOrDynamicIndexList() [2/2]

void mlir::transform::printPackedOrDynamicIndexList ( OpAsmPrinter & printer,
Operation * op,
Value packed,
Type packedType,
OperandRange values,
TypeRange valueTypes,
DenseI64ArrayAttr integers )

Printer hook for custom directive in assemblyFormat.

custom<PackedOrDynamicIndexList>($packed, type($packed), $values, type($values), $integers)

where values are variadic Index values, integers is an I64ArrayAttr and packed is a single transform dialect handle who's mapped payload ops have a single Index result and represent the index list. Either packed or the other two parameters may be specified.

This allows idiomatic printing of mixed value and integer attributes in a list or with a single handle. E.g., [arg0 : !transform.any_op, 7, 42, / arg42 : !transform.param<i64>] or just h : !transform.any_op.

Definition at line 17 of file Utils.cpp.

References mlir::printDynamicIndexList().

Referenced by printPackedOrDynamicIndexList().

◆ printTransformMatchDims()

void mlir::transform::printTransformMatchDims ( OpAsmPrinter & printer,
Operation * op,
DenseI64ArrayAttr rawDimList,
UnitAttr isInverted,
UnitAttr isAll )

Prints a positional index specification for transform match operations.

Definition at line 63 of file MatchInterfaces.cpp.

References mlir::detail::DenseArrayAttrImpl< T >::asArrayRef(), kDimAllKeyword, and kDimExceptKeyword.

◆ producesHandle() [1/2]

◆ producesHandle() [2/2]

◆ registerCheckUsesPass()

void mlir::transform::registerCheckUsesPass ( )
inline

Definition at line 378 of file Passes.h.

◆ registerCheckUsesPassPass()

void mlir::transform::registerCheckUsesPassPass ( )
inline

Definition at line 385 of file Passes.h.

◆ registerDebugExtension()

void mlir::transform::registerDebugExtension ( DialectRegistry & dialectRegistry)

Registers the debug extension of the Transform dialect in the given registry.

Definition at line 34 of file DebugExtension.cpp.

References mlir::DialectRegistry::addExtensions().

Referenced by mlir::registerAllExtensions().

◆ registerInferEffectsPass()

void mlir::transform::registerInferEffectsPass ( )
inline

Definition at line 399 of file Passes.h.

◆ registerInferEffectsPassPass()

void mlir::transform::registerInferEffectsPassPass ( )
inline

Definition at line 406 of file Passes.h.

◆ registerInterpreterPass()

void mlir::transform::registerInterpreterPass ( )
inline

Definition at line 420 of file Passes.h.

◆ registerInterpreterPassPass()

void mlir::transform::registerInterpreterPassPass ( )
inline

Definition at line 427 of file Passes.h.

◆ registerIRDLExtension()

void mlir::transform::registerIRDLExtension ( DialectRegistry & dialectRegistry)

Registers the IRDL extension of the Transform dialect in the given registry.

Definition at line 34 of file IRDLExtension.cpp.

References mlir::DialectRegistry::addExtensions().

Referenced by mlir::registerAllExtensions().

◆ registerLoopExtension()

void mlir::transform::registerLoopExtension ( DialectRegistry & dialectRegistry)

Registers the loop extension of the Transform dialect in the given registry.

Definition at line 34 of file LoopExtension.cpp.

References mlir::DialectRegistry::addExtensions().

Referenced by mlir::registerAllExtensions().

◆ registerPDLExtension()

void mlir::transform::registerPDLExtension ( DialectRegistry & dialectRegistry)

Registers the PDL extension of the Transform dialect in the given registry.

Definition at line 69 of file PDLExtension.cpp.

References mlir::DialectRegistry::addExtensions().

Referenced by mlir::registerAllExtensions().

◆ registerPreloadLibraryPass()

void mlir::transform::registerPreloadLibraryPass ( )
inline

Definition at line 441 of file Passes.h.

◆ registerPreloadLibraryPassPass()

void mlir::transform::registerPreloadLibraryPassPass ( )
inline

Definition at line 448 of file Passes.h.

◆ registerSMTExtension()

void mlir::transform::registerSMTExtension ( DialectRegistry & dialectRegistry)

Registers the SMT extension of the Transform dialect in the given registry.

Definition at line 33 of file SMTExtension.cpp.

References mlir::DialectRegistry::addExtensions().

Referenced by mlir::registerAllExtensions().

◆ registerTransformPasses()

void mlir::transform::registerTransformPasses ( )
inline

Definition at line 462 of file Passes.h.

Referenced by mlir::registerAllPasses().

◆ registerTuneExtension()

void mlir::transform::registerTuneExtension ( DialectRegistry & dialectRegistry)

Registers the tune extension of the Transform dialect in the given registry.

Definition at line 30 of file TuneExtension.cpp.

References mlir::DialectRegistry::addExtensions().

Referenced by mlir::registerAllExtensions().

◆ tileToForallOpImpl()

DiagnosedSilenceableFailure mlir::transform::tileToForallOpImpl ( RewriterBase & rewriter,
transform::TransformState & state,
TransformOpInterface transformOp,
Operation * target,
ArrayRef< OpFoldResult > mixedNumThreads,
ArrayRef< OpFoldResult > mixedTileSizes,
std::optional< ArrayAttr > mapping,
scf::SCFTilingResult & tilingResult )

◆ verifyTransformMatchDimsOp()

LogicalResult mlir::transform::verifyTransformMatchDimsOp ( Operation * op,
ArrayRef< int64_t > raw,
bool inverted,
bool all )

Checks if the positional specification defined is valid and reports errors otherwise.

Definition at line 79 of file MatchInterfaces.cpp.

References mlir::Operation::emitOpError(), and success().