3 This section contains a collection of documents describing the motivation and
4 rationale for some of the design decisions behind MLIR.
6 [MLIR: Incremental Application to Graph Algorithms in ML Frameworks](MLIRForGraphAlgorithms.md)
7 : A discussion of how the adoption of MLIR can be taken in incremental steps,
8 with each step providing tangible benefits along the way. Refutes the idea
9 that full adoption of MLIR is required before we can reap the benefits of
12 [MLIR Rationale](Rationale.md)
13 : Introduces the motivation for MLIR and captures design discussions and
14 decisions made for various core features of MLIR.
16 [Generic DAG Rewriter Infrastructure Rationale](RationaleGenericDAGRewriter.md)
17 : Details the rationale behind a general DAG-to-DAG rewrite infrastructure for
20 [Linalg Dialect Rationale: The Case for Compiler-Friendly Custom Operations](RationaleLinalgDialect.md)
21 : Describes the key design principles that led to the existing implementation
22 of Linalg and lessons learned along the way.
24 [MLIR: The case for a simplified polyhedral form](RationaleSimplifiedPolyhedralForm.md)
25 : An early design proposal exploring the tradeoffs of using a simplified form
26 for polyhedral compiler techniques in MLIR instead of the traditional
27 polyhedral schedule list form.
29 [Usage of 'const' in MLIR, for core IR types](UsageOfConst.md)
30 : Explains the rationale for eschewing the use of `const` entirely for the
31 core IR types in MLIR.