MLIR
Multi-Level IR Compiler Framework
Community
Forums
Chat
Debugging
FAQ
Source
Doxygen
GitHub
Bugs
Bindings
Bindings Docs
MLIR Python Bindings
Prev - Code Documentation
Next - MLIR Python Bindings
Home
Talks and Related Publications
Users of MLIR
Getting Started
+
Debugging
FAQ
How to Contribute
Developer Guide
Open Projects
Glossary
Testing Guide
Code Documentation
-
Bindings
-
MLIR Python Bindings
Background: declarative builders API
Buffer Deallocation - Internals
Bufferization
Built-in Function and MemRef Calling Convention
Conversion to the LLVM Dialect
Debug Actions
Diagnostic Infrastructure
Dialect Conversion
Dialects
+
'acc' Dialect
'affine' Dialect
'arm_neon' Dialect
'arm_sve' Dialect
'async' Dialect
'avx512' Dialect
'complex' Dialect
'gpu' Dialect
'linalg' Dialect
'llvm' Dialect
'llvm_arm_neon' Dialect
'llvm_arm_sve' Dialect
'llvm_avx512' Dialect
'math' Dialect
'nvvm' Dialect
'omp' Dialect
'pdl' Dialect
'pdl' Dialect
'quant' Dialect
'rocdl' Dialect
'scf' Dialect
'shape' Dialect
'spv' Dialect
'std' Dialect
'tensor' Dialect
'vector' Dialect
Tensor Operator Set Architecture (TOSA) Dialect
Interfaces
MLIR C API
MLIR Language Reference
Operation Canonicalization
Operation Definition Specification (ODS)
Pass Infrastructure
Passes
Pattern Rewriting : Generic DAG-to-DAG Rewriting
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
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
Tutorials
+
Creating a Dialect
Defining Dialect Attributes and Types
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
Understanding the IR Structure