Beaver.MLIR.Transforms (beaver v0.3.4)
Transformations MLIR provides by default.
Summary
Functions
Canonicalize operations
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
Bufferize the linalg dialect
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.
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()
Canonicalize operations
Argument name in MLIR CLI
canonicalize
Pass name in TableGen
Canonicalizer
canonicalize(composer_or_op)
control_flow_sink()
Sink operations into conditional blocks
Argument name in MLIR CLI
control-flow-sink
Pass name in TableGen
ControlFlowSink
control_flow_sink(composer_or_op)
convert_elementwise_to_linalg()
Convert ElementwiseMappable ops to linalg
Argument name in MLIR CLI
convert-elementwise-to-linalg
Pass name in TableGen
ConvertElementwiseToLinalg
convert_elementwise_to_linalg(composer_or_op)
convert_linalg_to_affine_loops()
Lower the operations from the linalg dialect into affine loops
Argument name in MLIR CLI
convert-linalg-to-affine-loops
Pass name in TableGen
LinalgLowerToAffineLoops
convert_linalg_to_affine_loops(composer_or_op)
convert_linalg_to_loops()
Lower the operations from the linalg dialect into loops
Argument name in MLIR CLI
convert-linalg-to-loops
Pass name in TableGen
LinalgLowerToLoops
convert_linalg_to_loops(composer_or_op)
convert_linalg_to_parallel_loops()
Lower the operations from the linalg dialect into parallel loops
Argument name in MLIR CLI
convert-linalg-to-parallel-loops
Pass name in TableGen
LinalgLowerToParallelLoops
convert_linalg_to_parallel_loops(composer_or_op)
cse()
Eliminate common sub-expressions
Argument name in MLIR CLI
cse
Pass name in TableGen
CSE
cse(composer_or_op)
generate_runtime_verification()
Generate additional runtime op verification checks
Argument name in MLIR CLI
generate-runtime-verification
Pass name in TableGen
GenerateRuntimeVerification
generate_runtime_verification(composer_or_op)
gpu_async_region()
Make GPU ops async
Argument name in MLIR CLI
gpu-async-region
Pass name in TableGen
GpuAsyncRegionPass
gpu_async_region(composer_or_op)
gpu_decompose_memrefs()
Decomposes memref index computation into explicit ops.
Argument name in MLIR CLI
gpu-decompose-memrefs
Pass name in TableGen
GpuDecomposeMemrefsPass
gpu_decompose_memrefs(composer_or_op)
gpu_eliminate_barriers()
Erase unnecessary barriers
Argument name in MLIR CLI
gpu-eliminate-barriers
Pass name in TableGen
GpuEliminateBarriers
gpu_eliminate_barriers(composer_or_op)
gpu_kernel_outlining()
Outline gpu.launch bodies to kernel functions
Argument name in MLIR CLI
gpu-kernel-outlining
Pass name in TableGen
GpuKernelOutlining
gpu_kernel_outlining(composer_or_op)
gpu_launch_sink_index_computations()
Sink index computations into gpu.launch body
Argument name in MLIR CLI
gpu-launch-sink-index-computations
Pass name in TableGen
GpuLaunchSinkIndexComputations
gpu_launch_sink_index_computations(composer_or_op)
gpu_map_parallel_loops()
Greedily maps loops to GPU hardware dimensions.
Argument name in MLIR CLI
gpu-map-parallel-loops
Pass name in TableGen
GpuMapParallelLoopsPass
gpu_map_parallel_loops(composer_or_op)
gpu_module_to_binary()
Transforms a GPU module into a GPU binary.
Argument name in MLIR CLI
gpu-module-to-binary
Pass name in TableGen
GpuModuleToBinaryPass
gpu_module_to_binary(composer_or_op)
inline()
Inline function calls
Argument name in MLIR CLI
inline
Pass name in TableGen
Inliner
inline(composer_or_op)
linalg_bufferize()
Bufferize the linalg dialect
Argument name in MLIR CLI
linalg-bufferize
Pass name in TableGen
LinalgBufferize
linalg_bufferize(composer_or_op)
linalg_detensorize()
Detensorize linalg ops
Argument name in MLIR CLI
linalg-detensorize
Pass name in TableGen
LinalgDetensorize
linalg_detensorize(composer_or_op)
linalg_fold_unit_extent_dims()
Remove unit-extent dimension in Linalg ops on tensors
Argument name in MLIR CLI
linalg-fold-unit-extent-dims
Pass name in TableGen
LinalgFoldUnitExtentDims
linalg_fold_unit_extent_dims(composer_or_op)
linalg_fuse_elementwise_ops()
Fuse elementwise operations on tensors
Argument name in MLIR CLI
linalg-fuse-elementwise-ops
Pass name in TableGen
LinalgElementwiseOpFusion
linalg_fuse_elementwise_ops(composer_or_op)
linalg_generalize_named_ops()
Convert named ops into generic ops
Argument name in MLIR CLI
linalg-generalize-named-ops
Pass name in TableGen
LinalgGeneralization
linalg_generalize_named_ops(composer_or_op)
linalg_inline_scalar_operands()
Inline scalar operands into linalg generic ops
Argument name in MLIR CLI
linalg-inline-scalar-operands
Pass name in TableGen
LinalgInlineScalarOperands
linalg_inline_scalar_operands(composer_or_op)
linalg_named_op_conversion()
Convert from one named linalg op to another.
Argument name in MLIR CLI
linalg-named-op-conversion
Pass name in TableGen
LinalgNamedOpConversion
linalg_named_op_conversion(composer_or_op)
loop_invariant_code_motion()
Hoist loop invariant instructions outside of the loop
Argument name in MLIR CLI
loop-invariant-code-motion
Pass name in TableGen
LoopInvariantCodeMotion
loop_invariant_code_motion(composer_or_op)
loop_invariant_subset_hoisting()
Hoist loop invariant subset ops outside of the loop
Argument name in MLIR CLI
loop-invariant-subset-hoisting
Pass name in TableGen
LoopInvariantSubsetHoisting
loop_invariant_subset_hoisting(composer_or_op)
mem2reg()
Promotes memory slots into values.
Argument name in MLIR CLI
mem2reg
Pass name in TableGen
Mem2Reg
mem2reg(composer_or_op)
nvvm_attach_target()
Attaches an NVVM target attribute to a GPU Module.
Argument name in MLIR CLI
nvvm-attach-target
Pass name in TableGen
GpuNVVMAttachTarget
nvvm_attach_target(composer_or_op)
print_ir()
Print IR on the debug stream
Argument name in MLIR CLI
print-ir
Pass name in TableGen
PrintIRPass
print_ir(composer_or_op)
print_op_stats()
Print statistics of operations
Argument name in MLIR CLI
print-op-stats
Pass name in TableGen
PrintOpStats
print_op_stats(composer_or_op)
remove_dead_values()
Remove dead values
Argument name in MLIR CLI
remove-dead-values
Pass name in TableGen
RemoveDeadValues
remove_dead_values(composer_or_op)
rocdl_attach_target()
Attaches a ROCDL target attribute to a GPU Module.
Argument name in MLIR CLI
rocdl-attach-target
Pass name in TableGen
GpuROCDLAttachTarget
rocdl_attach_target(composer_or_op)
sccp()
Sparse Conditional Constant Propagation
Argument name in MLIR CLI
sccp
Pass name in TableGen
SCCP
sccp(composer_or_op)
snapshot_op_locations()
Generate new locations from the current IR
Argument name in MLIR CLI
snapshot-op-locations
Pass name in TableGen
LocationSnapshot
snapshot_op_locations(composer_or_op)
spirv_attach_target()
Attaches an SPIR-V target attribute to a GPU Module.
Argument name in MLIR CLI
spirv-attach-target
Pass name in TableGen
GpuSPIRVAttachTarget
spirv_attach_target(composer_or_op)
sroa()
Scalar Replacement of Aggregates
Argument name in MLIR CLI
sroa
Pass name in TableGen
SROA
sroa(composer_or_op)
strip_debuginfo()
Strip debug info from all operations
Argument name in MLIR CLI
strip-debuginfo
Pass name in TableGen
StripDebugInfo
strip_debuginfo(composer_or_op)
symbol_dce()
Eliminate dead symbols
Argument name in MLIR CLI
symbol-dce
Pass name in TableGen
SymbolDCE
symbol_dce(composer_or_op)
symbol_privatize()
Mark symbols private
Argument name in MLIR CLI
symbol-privatize
Pass name in TableGen
SymbolPrivatize
symbol_privatize(composer_or_op)
topological_sort()
Sort regions without SSA dominance in topological order
Argument name in MLIR CLI
topological-sort
Pass name in TableGen
TopologicalSort
topological_sort(composer_or_op)
view_op_graph()
Print Graphviz visualization of an operation
Argument name in MLIR CLI
view-op-graph
Pass name in TableGen
ViewOpGraph