Beaver.MLIR.Transforms (beaver v0.2.16)

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

Generate additional runtime op verification checks

Make GPU ops async

Outline gpu.launch bodies to kernel functions

Sink index computations into gpu.launch body

Assign numeric values to memref memory space symbolic placeholders

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

Inline scalar operands into linalg generic ops

Convert from one named linalg op to another.

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 operations

argument-name-in-mlir-cli

Argument name in MLIR CLI

canonicalize

pass-name-in-tablegen

Pass name in TableGen

Canonicalizer

Link to this function

canonicalize(composer_or_op)

Link to this function

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

Link to this function

control_flow_sink(composer_or_op)

Link to this function

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

Link to this function

convert_elementwise_to_linalg(composer_or_op)

Link to this function

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

Link to this function

convert_linalg_to_affine_loops(composer_or_op)

Link to this function

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

Link to this function

convert_linalg_to_loops(composer_or_op)

Link to this function

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

Link to this function

convert_linalg_to_parallel_loops(composer_or_op)

Eliminate common sub-expressions

argument-name-in-mlir-cli

Argument name in MLIR CLI

cse

pass-name-in-tablegen

Pass name in TableGen

CSE

Link to this function

cse(composer_or_op)

Link to this function

generate_runtime_verification()

Generate additional runtime op verification checks

argument-name-in-mlir-cli

Argument name in MLIR CLI

generate-runtime-verification

pass-name-in-tablegen

Pass name in TableGen

GenerateRuntimeVerification

Link to this function

generate_runtime_verification(composer_or_op)

Link to this function

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

Link to this function

gpu_async_region(composer_or_op)

Link to this function

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

Link to this function

gpu_kernel_outlining(composer_or_op)

Link to this function

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

Link to this function

gpu_launch_sink_index_computations(composer_or_op)

Link to this function

gpu_lower_memory_space_attributes()

Assign numeric values to memref memory space symbolic placeholders

argument-name-in-mlir-cli

Argument name in MLIR CLI

gpu-lower-memory-space-attributes

pass-name-in-tablegen

Pass name in TableGen

GPULowerMemorySpaceAttributesPass

Link to this function

gpu_lower_memory_space_attributes(composer_or_op)

Link to this function

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

Link to this function

gpu_map_parallel_loops(composer_or_op)

Inline function calls

argument-name-in-mlir-cli

Argument name in MLIR CLI

inline

pass-name-in-tablegen

Pass name in TableGen

Inliner

Link to this function

inline(composer_or_op)

Link to this function

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

Link to this function

linalg_bufferize(composer_or_op)

Link to this function

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

Link to this function

linalg_detensorize(composer_or_op)

Link to this function

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

Link to this function

linalg_fold_unit_extent_dims(composer_or_op)

Link to this function

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

Link to this function

linalg_fuse_elementwise_ops(composer_or_op)

Link to this function

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

Link to this function

linalg_generalize_named_ops(composer_or_op)

Link to this function

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

Link to this function

linalg_inline_scalar_operands(composer_or_op)

Link to this function

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

Link to this function

linalg_named_op_conversion(composer_or_op)

Link to this function

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

Link to this function

loop_invariant_code_motion(composer_or_op)

Sparse Conditional Constant Propagation

argument-name-in-mlir-cli

Argument name in MLIR CLI

sccp

pass-name-in-tablegen

Pass name in TableGen

SCCP

Link to this function

sccp(composer_or_op)

Link to this function

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

Link to this function

snapshot_op_locations(composer_or_op)

Link to this function

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

Link to this function

strip_debuginfo(composer_or_op)

Eliminate dead symbols

argument-name-in-mlir-cli

Argument name in MLIR CLI

symbol-dce

pass-name-in-tablegen

Pass name in TableGen

SymbolDCE

Link to this function

symbol_dce(composer_or_op)

Link to this function

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

Link to this function

symbol_privatize(composer_or_op)

Link to this function

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

Link to this function

topological_sort(composer_or_op)

Link to this function

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

Link to this function

view_op_graph(composer_or_op)