What problem does it solve?
MLIR development helps you design and implement domain-specific compilation pipelines by transforming high-level program intent into progressively optimized intermediate representations.
Core Features & Use Cases
- Create custom dialects: Define new operations, types, and attributes using MLIR’s dialect architecture for domain-specific modeling.
- Write transformations and passes: Implement optimization passes and pattern-based rewrites to safely transform IR while preserving semantics.
- Perform dialect conversion: Lower high-level dialects to mid-level or LLVM-like dialects using conversion targets and conversion patterns.
- Use CIR for C/C++: Leverage CIR’s MLIR-based representation to improve tooling and apply language-aware transformations.
- Common use cases: Build a compiler for a DSL, prototype optimization pipelines, or create an ML compiler stack that progressively lowers into target code.
Quick Start
Use the mlir-development skill to guide you through defining a custom dialect, implementing an optimization rewrite pattern, and lowering the dialect to a lower-level dialect in a single pass.