Bump version to 19.1.0 (final)
[llvm-project.git] / mlir / docs / Rationale / _index.md
blob4fd0362ff55f5e3101f2893f22f8a332c7a04fe6
1 # Rationale
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
10     MLIR.
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
18     MLIR.
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.