Beaver.MLIR.Transforms (beaver v0.2.0)
Transformations MLIR provides by default.
Link to this section 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
Make GPU ops async
Outline gpu.launch bodies to kernel functions
Sink index computations into gpu.launch body
Greedily maps loops to GPU hardware dimensions.
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
Replace all init_tensor ops by alloc_tensor ops.
Inline scalar operands into linalg generic ops
Convert from one named linalg op to another.
Configurable pass to apply pattern-based generalization.
Configurable pass to lower vector operations.
Configurable pass to apply padding and hoisting.
Configurable pass to apply pattern-based linalg peeling.
Cleanup pass that drops markers.
Configurable pass to apply pattern-based tiling and fusion.
Configurable pass to apply pattern-based linalg tiling.
Tile operations in the linalg dialect
Hoist loop invariant instructions outside of the loop
Print statistics of operations
Sparse Conditional Constant Propagation
Generate new locations from the current IR
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
Link to this section Functions
canonicalize()
Canonicalize operations
argument-name-in-mlir-cli
Argument name in MLIR CLI
canonicalize
pass-name-in-tablegen
Pass name in TableGen
Canonicalizer
canonicalize(composer_or_op)
control_flow_sink()
Sink operations into conditional blocks
argument-name-in-mlir-cli
Argument name in MLIR CLI
control-flow-sink
pass-name-in-tablegen
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
Argument name in MLIR CLI
convert-elementwise-to-linalg
pass-name-in-tablegen
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
Argument name in MLIR CLI
convert-linalg-to-affine-loops
pass-name-in-tablegen
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
Argument name in MLIR CLI
convert-linalg-to-loops
pass-name-in-tablegen
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
Argument name in MLIR CLI
convert-linalg-to-parallel-loops
pass-name-in-tablegen
Pass name in TableGen
LinalgLowerToParallelLoops
convert_linalg_to_parallel_loops(composer_or_op)
cse()
Eliminate common sub-expressions
argument-name-in-mlir-cli
Argument name in MLIR CLI
cse
pass-name-in-tablegen
Pass name in TableGen
CSE
cse(composer_or_op)
gpu_async_region()
Make GPU ops async
argument-name-in-mlir-cli
Argument name in MLIR CLI
gpu-async-region
pass-name-in-tablegen
Pass name in TableGen
GpuAsyncRegionPass
gpu_async_region(composer_or_op)
gpu_kernel_outlining()
Outline gpu.launch bodies to kernel functions
argument-name-in-mlir-cli
Argument name in MLIR CLI
gpu-kernel-outlining
pass-name-in-tablegen
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
Argument name in MLIR CLI
gpu-launch-sink-index-computations
pass-name-in-tablegen
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
Argument name in MLIR CLI
gpu-map-parallel-loops
pass-name-in-tablegen
Pass name in TableGen
GpuMapParallelLoopsPass
gpu_map_parallel_loops(composer_or_op)
inline()
Inline function calls
argument-name-in-mlir-cli
Argument name in MLIR CLI
inline
pass-name-in-tablegen
Pass name in TableGen
Inliner
inline(composer_or_op)
linalg_bufferize()
Bufferize the linalg dialect
argument-name-in-mlir-cli
Argument name in MLIR CLI
linalg-bufferize
pass-name-in-tablegen
Pass name in TableGen
LinalgBufferize
linalg_bufferize(composer_or_op)
linalg_detensorize()
Detensorize linalg ops
argument-name-in-mlir-cli
Argument name in MLIR CLI
linalg-detensorize
pass-name-in-tablegen
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
Argument name in MLIR CLI
linalg-fold-unit-extent-dims
pass-name-in-tablegen
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
Argument name in MLIR CLI
linalg-fuse-elementwise-ops
pass-name-in-tablegen
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
Argument name in MLIR CLI
linalg-generalize-named-ops
pass-name-in-tablegen
Pass name in TableGen
LinalgGeneralization
linalg_generalize_named_ops(composer_or_op)
linalg_init_tensor_to_alloc_tensor()
Replace all init_tensor ops by alloc_tensor ops.
argument-name-in-mlir-cli
Argument name in MLIR CLI
linalg-init-tensor-to-alloc-tensor
pass-name-in-tablegen
Pass name in TableGen
LinalgInitTensorToAllocTensor
linalg_init_tensor_to_alloc_tensor(composer_or_op)
linalg_inline_scalar_operands()
Inline scalar operands into linalg generic ops
argument-name-in-mlir-cli
Argument name in MLIR CLI
linalg-inline-scalar-operands
pass-name-in-tablegen
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
Argument name in MLIR CLI
linalg-named-op-conversion
pass-name-in-tablegen
Pass name in TableGen
LinalgNamedOpConversion
linalg_named_op_conversion(composer_or_op)
linalg_strategy_decompose_pass()
Configurable pass to apply pattern-based generalization.
argument-name-in-mlir-cli
Argument name in MLIR CLI
linalg-strategy-decompose-pass
pass-name-in-tablegen
Pass name in TableGen
LinalgStrategyDecomposePass
linalg_strategy_decompose_pass(composer_or_op)
linalg_strategy_lower_vectors_pass()
Configurable pass to lower vector operations.
argument-name-in-mlir-cli
Argument name in MLIR CLI
linalg-strategy-lower-vectors-pass
pass-name-in-tablegen
Pass name in TableGen
LinalgStrategyLowerVectorsPass
linalg_strategy_lower_vectors_pass(composer_or_op)
linalg_strategy_pad_pass()
Configurable pass to apply padding and hoisting.
argument-name-in-mlir-cli
Argument name in MLIR CLI
linalg-strategy-pad-pass
pass-name-in-tablegen
Pass name in TableGen
LinalgStrategyPadPass
linalg_strategy_pad_pass(composer_or_op)
linalg_strategy_peel_pass()
Configurable pass to apply pattern-based linalg peeling.
argument-name-in-mlir-cli
Argument name in MLIR CLI
linalg-strategy-peel-pass
pass-name-in-tablegen
Pass name in TableGen
LinalgStrategyPeelPass
linalg_strategy_peel_pass(composer_or_op)
linalg_strategy_remove_markers_pass()
Cleanup pass that drops markers.
argument-name-in-mlir-cli
Argument name in MLIR CLI
linalg-strategy-remove-markers-pass
pass-name-in-tablegen
Pass name in TableGen
LinalgStrategyRemoveMarkersPass
linalg_strategy_remove_markers_pass(composer_or_op)
linalg_strategy_tile_and_fuse_pass()
Configurable pass to apply pattern-based tiling and fusion.
argument-name-in-mlir-cli
Argument name in MLIR CLI
linalg-strategy-tile-and-fuse-pass
pass-name-in-tablegen
Pass name in TableGen
LinalgStrategyTileAndFusePass
linalg_strategy_tile_and_fuse_pass(composer_or_op)
linalg_strategy_tile_pass()
Configurable pass to apply pattern-based linalg tiling.
argument-name-in-mlir-cli
Argument name in MLIR CLI
linalg-strategy-tile-pass
pass-name-in-tablegen
Pass name in TableGen
LinalgStrategyTilePass
linalg_strategy_tile_pass(composer_or_op)
linalg_tile()
Tile operations in the linalg dialect
argument-name-in-mlir-cli
Argument name in MLIR CLI
linalg-tile
pass-name-in-tablegen
Pass name in TableGen
LinalgTilingPass
linalg_tile(composer_or_op)
loop_invariant_code_motion()
Hoist loop invariant instructions outside of the loop
argument-name-in-mlir-cli
Argument name in MLIR CLI
loop-invariant-code-motion
pass-name-in-tablegen
Pass name in TableGen
LoopInvariantCodeMotion
loop_invariant_code_motion(composer_or_op)
print_op_stats()
Print statistics of operations
argument-name-in-mlir-cli
Argument name in MLIR CLI
print-op-stats
pass-name-in-tablegen
Pass name in TableGen
PrintOpStats
print_op_stats(composer_or_op)
sccp()
Sparse Conditional Constant Propagation
argument-name-in-mlir-cli
Argument name in MLIR CLI
sccp
pass-name-in-tablegen
Pass name in TableGen
SCCP
sccp(composer_or_op)
snapshot_op_locations()
Generate new locations from the current IR
argument-name-in-mlir-cli
Argument name in MLIR CLI
snapshot-op-locations
pass-name-in-tablegen
Pass name in TableGen
LocationSnapshot
snapshot_op_locations(composer_or_op)
strip_debuginfo()
Strip debug info from all operations
argument-name-in-mlir-cli
Argument name in MLIR CLI
strip-debuginfo
pass-name-in-tablegen
Pass name in TableGen
StripDebugInfo
strip_debuginfo(composer_or_op)
symbol_dce()
Eliminate dead symbols
argument-name-in-mlir-cli
Argument name in MLIR CLI
symbol-dce
pass-name-in-tablegen
Pass name in TableGen
SymbolDCE
symbol_dce(composer_or_op)
symbol_privatize()
Mark symbols private
argument-name-in-mlir-cli
Argument name in MLIR CLI
symbol-privatize
pass-name-in-tablegen
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
Argument name in MLIR CLI
topological-sort
pass-name-in-tablegen
Pass name in TableGen
TopologicalSort
topological_sort(composer_or_op)
view_op_graph()
Print Graphviz visualization of an operation
argument-name-in-mlir-cli
Argument name in MLIR CLI
view-op-graph
pass-name-in-tablegen
Pass name in TableGen
ViewOpGraph