The baby dragon of complexity
  • Posts
  • Notes
  • About
  1. Notes on MLIR

On this page

  • Glossary
    • Speculative operations
    • Passes
      • Control Flow Sync (-control-flow-sink)
      • Control Subexpression Elimination (-cse)
      • Sparse Conditional Constant Propagation (-sccp)
    • Traits

Notes on MLIR

mlir
compilers
notes
Key concepts in the MLIR ecosystem
Author

Victor Guerra

Published

Friday, April 14, 2023

Modified

Monday, September 11, 2023

Glossary

Speculative operations

Means that an operation is allowed to be speculatively executed, i.e. computed early, so the compiler can move th op to another location. An operation can be maked with the AlwaysSPeculatable trait.

Passes

Represent basic infracstructure for transformation and optimization. Passes are enabled by adding traits to operations.

Control Flow Sync (-control-flow-sink)

Moves ops that are only used in one branch of a conditional into the relevant branch. Requires op to be memory-effect free.

Control Subexpression Elimination (-cse)

Removes unnecessarily repeated computations. Requires op to be memory-effect free.

Sparse Conditional Constant Propagation (-sccp)

Attempts to infer when an operation has a constant output and then replaces the operation with the constant value, propagating the constant value as far as possible.

Traits

Used to specify special properties and constraints of an object. They are a mechanism which abstracts implementation details and properties that are common across many different attributes/operations/types/etc.

Published with Quarto v1.3.450
© 2023 Victor Guerra | MIT License