Beaver.MLIR.Transform (beaver v0.4.0)
Transformations MLIR provides by default.
Summary
Functions
Canonicalize operations
Composite fixed point pass
Sink operations into conditional blocks
Convert ElementwiseMappable ops to linalg
Lower the operations from the linalg dialect into affine loops
Lower the operations from the linalg dialect into loops
Lower the operations from the linalg dialect into parallel loops
Eliminate common sub-expressions
Generate additional runtime op verification checks
Make GPU ops async
Decomposes memref index computation into explicit ops.
Erase unnecessary barriers
Outline gpu.launch bodies to kernel functions
Sink index computations into gpu.launch body
Greedily maps loops to GPU hardware dimensions.
Transforms a GPU module into a GPU binary.
Inline function calls
Convert linalg matmul ops to block layout and back
Detensorize linalg ops
Remove unit-extent dimension in Linalg ops on tensors
Fuse elementwise operations on tensors
Convert named ops into generic ops
Inline scalar operands into linalg generic ops
Convert from one named linalg op to another.
Convert generic ops back to named ops
Hoist loop invariant instructions outside of the loop
Hoist loop invariant subset ops outside of the loop
Promotes memory slots into values.
Attaches an NVVM target attribute to a GPU Module.
Print IR on the debug stream
Print statistics of operations
Remove dead values
Attaches a ROCDL target attribute to a GPU Module.
Sparse Conditional Constant Propagation
Generate new locations from the current IR
Attaches an SPIR-V target attribute to a GPU Module.
Scalar Replacement of Aggregates
Strip debug info from all operations
Eliminate dead symbols
Mark symbols private
Sort regions without SSA dominance in topological order
Print Graphviz visualization of an operation
Functions
Canonicalize operations
Argument name in MLIR CLI
canonicalize
Pass name in TableGen
Canonicalizer
Composite fixed point pass
Argument name in MLIR CLI
composite-fixed-point-pass
Pass name in TableGen
CompositeFixedPointPass
Sink operations into conditional blocks
Argument name in MLIR CLI
control-flow-sink
Pass name in TableGen
ControlFlowSink
Convert ElementwiseMappable ops to linalg
Argument name in MLIR CLI
convert-elementwise-to-linalg
Pass name in TableGen
ConvertElementwiseToLinalgPass
Lower the operations from the linalg dialect into affine loops
Argument name in MLIR CLI
convert-linalg-to-affine-loops
Pass name in TableGen
ConvertLinalgToAffineLoopsPass
Lower the operations from the linalg dialect into loops
Argument name in MLIR CLI
convert-linalg-to-loops
Pass name in TableGen
ConvertLinalgToLoopsPass
Lower the operations from the linalg dialect into parallel loops
Argument name in MLIR CLI
convert-linalg-to-parallel-loops
Pass name in TableGen
ConvertLinalgToParallelLoopsPass
Eliminate common sub-expressions
Argument name in MLIR CLI
cse
Pass name in TableGen
CSE
Generate additional runtime op verification checks
Argument name in MLIR CLI
generate-runtime-verification
Pass name in TableGen
GenerateRuntimeVerification
Make GPU ops async
Argument name in MLIR CLI
gpu-async-region
Pass name in TableGen
GpuAsyncRegionPass
Decomposes memref index computation into explicit ops.
Argument name in MLIR CLI
gpu-decompose-memrefs
Pass name in TableGen
GpuDecomposeMemrefsPass
Erase unnecessary barriers
Argument name in MLIR CLI
gpu-eliminate-barriers
Pass name in TableGen
GpuEliminateBarriers
Outline gpu.launch bodies to kernel functions
Argument name in MLIR CLI
gpu-kernel-outlining
Pass name in TableGen
GpuKernelOutlining
Sink index computations into gpu.launch body
Argument name in MLIR CLI
gpu-launch-sink-index-computations
Pass name in TableGen
GpuLaunchSinkIndexComputations
Greedily maps loops to GPU hardware dimensions.
Argument name in MLIR CLI
gpu-map-parallel-loops
Pass name in TableGen
GpuMapParallelLoopsPass
Transforms a GPU module into a GPU binary.
Argument name in MLIR CLI
gpu-module-to-binary
Pass name in TableGen
GpuModuleToBinaryPass
Inline function calls
Argument name in MLIR CLI
inline
Pass name in TableGen
Inliner
Convert linalg matmul ops to block layout and back
Argument name in MLIR CLI
linalg-block-pack-matmul
Pass name in TableGen
LinalgBlockPackMatmul
Detensorize linalg ops
Argument name in MLIR CLI
linalg-detensorize
Pass name in TableGen
LinalgDetensorizePass
Remove unit-extent dimension in Linalg ops on tensors
Argument name in MLIR CLI
linalg-fold-unit-extent-dims
Pass name in TableGen
LinalgFoldUnitExtentDimsPass
Fuse elementwise operations on tensors
Argument name in MLIR CLI
linalg-fuse-elementwise-ops
Pass name in TableGen
LinalgElementwiseOpFusionPass
Convert named ops into generic ops
Argument name in MLIR CLI
linalg-generalize-named-ops
Pass name in TableGen
LinalgGeneralizeNamedOpsPass
Inline scalar operands into linalg generic ops
Argument name in MLIR CLI
linalg-inline-scalar-operands
Pass name in TableGen
LinalgInlineScalarOperandsPass
Convert from one named linalg op to another.
Argument name in MLIR CLI
linalg-named-op-conversion
Pass name in TableGen
LinalgNamedOpConversionPass
Convert generic ops back to named ops
Argument name in MLIR CLI
linalg-specialize-generic-ops
Pass name in TableGen
LinalgSpecializeGenericOpsPass
Hoist loop invariant instructions outside of the loop
Argument name in MLIR CLI
loop-invariant-code-motion
Pass name in TableGen
LoopInvariantCodeMotion
Hoist loop invariant subset ops outside of the loop
Argument name in MLIR CLI
loop-invariant-subset-hoisting
Pass name in TableGen
LoopInvariantSubsetHoisting
Promotes memory slots into values.
Argument name in MLIR CLI
mem2reg
Pass name in TableGen
Mem2Reg
Attaches an NVVM target attribute to a GPU Module.
Argument name in MLIR CLI
nvvm-attach-target
Pass name in TableGen
GpuNVVMAttachTarget
Print IR on the debug stream
Argument name in MLIR CLI
print-ir
Pass name in TableGen
PrintIRPass
Print statistics of operations
Argument name in MLIR CLI
print-op-stats
Pass name in TableGen
PrintOpStats
Remove dead values
Argument name in MLIR CLI
remove-dead-values
Pass name in TableGen
RemoveDeadValues
Attaches a ROCDL target attribute to a GPU Module.
Argument name in MLIR CLI
rocdl-attach-target
Pass name in TableGen
GpuROCDLAttachTarget
Sparse Conditional Constant Propagation
Argument name in MLIR CLI
sccp
Pass name in TableGen
SCCP
Generate new locations from the current IR
Argument name in MLIR CLI
snapshot-op-locations
Pass name in TableGen
LocationSnapshot
Attaches an SPIR-V target attribute to a GPU Module.
Argument name in MLIR CLI
spirv-attach-target
Pass name in TableGen
GpuSPIRVAttachTarget
Scalar Replacement of Aggregates
Argument name in MLIR CLI
sroa
Pass name in TableGen
SROA
Strip debug info from all operations
Argument name in MLIR CLI
strip-debuginfo
Pass name in TableGen
StripDebugInfo
Eliminate dead symbols
Argument name in MLIR CLI
symbol-dce
Pass name in TableGen
SymbolDCE
Mark symbols private
Argument name in MLIR CLI
symbol-privatize
Pass name in TableGen
SymbolPrivatize
Sort regions without SSA dominance in topological order
Argument name in MLIR CLI
topological-sort
Pass name in TableGen
TopologicalSort
Print Graphviz visualization of an operation
Argument name in MLIR CLI
view-op-graph
Pass name in TableGen
ViewOpGraph