MLIR
Multi-Level IR Compiler Framework
Community
Forums
Chat
Debugging Tips
FAQ
Source
Doxygen
GitHub
Python Bindings API docs
Bugs
Logo Assets
Youtube Channel
404 Not Found
Home
Governance
Users of MLIR
MLIR Related Publications
Talks
Deprecations & Current Refactoring
Getting Started
+
Reporting Issues
Debugging Tips
FAQ
How to Contribute
Developer Guide
Open Projects
Glossary
Testing Guide
Code Documentation
+
Bindings
+
MLIR Python Bindings
Tools
+
MLIR : Language Server Protocol
MLIR Reduce
mlir-rewrite
Action: Tracing and Debugging MLIR-based Compilers
Bufferization
Data Layout Modeling
Defining Dialects
+
Constraints
Customizing Assembly Behavior
Defining Dialect Attributes and Types
Operation Definition Specification (ODS)
Diagnostic Infrastructure
Dialect Conversion
Dialects
+
'acc' Dialect
'affine' Dialect
'amdgpu' Dialect
'amx' Dialect
'arith' Dialect
'arm_neon' Dialect
'arm_sve' Dialect
'ArmSME' Dialect
'async' Dialect
'bufferization' Dialect
'cf' Dialect
'complex' Dialect
'dlti' Dialect
'emitc' Dialect
'func' Dialect
'gpu' Dialect
'index' Dialect
'irdl' Dialect
'linalg' Dialect
+
Linalg OpDSL
'llvm' Dialect
'math' Dialect
'memref' Dialect
'ml_program' Dialect
'mpi' Dialect
'nvgpu' Dialect
'nvvm' Dialect
'omp' Dialect
+
ODS Documentation
'pdl_interp' Dialect
'pdl' Dialect
'ptr' Dialect
'quant' Dialect
'rocdl' Dialect
'scf' Dialect
'shape' Dialect
'shard' Dialect
'smt' Dialect
'sparse_tensor' Dialect
'tensor' Dialect
'ub' Dialect
'vcix' Dialect
'vector' Dialect
'wasmssa' Dialect
'x86vector' Dialect
'xegpu' Dialect
'xevm' Dialect
Builtin Dialect
OpInterface definitions
SPIR-V Dialect
Tensor Operator Set Architecture (TOSA) Dialect
Transform Dialect
Interfaces
LLVM IR Target
MLIR Bytecode Format
MLIR C API
MLIR Language Reference
MLIR Release Notes
Operation Canonicalization
Ownership-based Buffer Deallocation
Pass Infrastructure
Passes
Pattern Rewriting : Generic DAG-to-DAG Rewriting
Pattern Search
PDLL - PDL Language
Quantization
Rationale
+
Generic DAG Rewriter Infrastructure Rationale
Linalg Dialect Rationale: The Case For Compiler-Friendly Custom Operations
MLIR Rationale
MLIR: Incremental Application to Graph Algorithms in ML Frameworks
MLIR: The case for a simplified polyhedral form
Side Effects & Speculation
Usage of 'const' in MLIR, for core IR types
Remark Infrastructure
Shape Inference
SPIR-V Dialect to LLVM Dialect conversion manual
Symbols and Symbol Tables
Table-driven Declarative Rewrite Rule (DRR)
Traits
+
The `Broadcastable` Trait
Tutorials
+
Creating a Dialect
Quickstart tutorial to adding MLIR graph rewrite
Toy Tutorial
+
Chapter 1: Toy Language and AST
Chapter 2: Emitting Basic MLIR
Chapter 3: High-level Language-Specific Analysis and Transformation
Chapter 4: Enabling Generic Transformation with Interfaces
Chapter 5: Partial Lowering to Lower-Level Dialects for Optimization
Chapter 6: Lowering to LLVM and CodeGeneration
Chapter 7: Adding a Composite Type to Toy
Transform Dialect Tutorial
+
Chapter 0: A Primer on “Structured” Linalg Operations
Chapter 1: Combining Existing Transformations
Chapter 2: Adding a Simple New Transformation Operation
Chapter 3: More than Simple Transform Operations
Chapter 4: Matching Payload with Transform Operations
Chapter H: Reproducing Halide Schedule
Understanding the IR Structure
Using `mlir-opt`
Writing DataFlow Analyses in MLIR