MLIR
Multi-Level IR Compiler Framework
Community
Forums
Chat
Debugging Tips
FAQ
Source
Doxygen
GitHub
Bugs
Logo Assets
Youtube Channel
Tools
Tools Docs
MLIR : Language Server Protocol
MLIR Reduce
mlir-rewrite
Prev - MLIR Python Bindings
Next - MLIR : Language Server Protocol
Home
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
Buffer Deallocation - Internals
Bufferization
Data Layout Modeling
Defining Dialects
+
Constraints
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
'mesh' Dialect
'ml_program' Dialect
'mpi' Dialect
'nvgpu' Dialect
'nvvm' Dialect
'omp' Dialect
+
ODS Documentation
'pdl_interp' Dialect
'pdl' Dialect
'polynomial' Dialect
'ptr' Dialect
'quant' Dialect
'rocdl' Dialect
'scf' Dialect
'shape' Dialect
'sparse_tensor' Dialect
'tensor' Dialect
'ub' Dialect
'vcix' Dialect
'vector' Dialect
'x86vector' Dialect
'xegpu' 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
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
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