diff --git a/mlir/docs/Rationale/UsageOfConst.md b/mlir/docs/Rationale/UsageOfConst.md --- a/mlir/docs/Rationale/UsageOfConst.md +++ b/mlir/docs/Rationale/UsageOfConst.md @@ -1,4 +1,4 @@ -# Usage of 'Const' in MLIR, for core IR types +# Usage of 'const' in MLIR, for core IR types aka, where'd `const` go? diff --git a/mlir/docs/Rationale/_index.md b/mlir/docs/Rationale/_index.md new file mode 100644 --- /dev/null +++ b/mlir/docs/Rationale/_index.md @@ -0,0 +1,31 @@ +# Rationale + +This section contains a collection of documents describing the motivation and +rationale for some of the design decisions behind MLIR. + +[MLIR: Incremental Application to Graph Algorithms in ML Frameworks](MLIRForGraphAlgorithms.md) +: A discussion of how the adoption of MLIR can be taken in incremental steps, + with each step providing tangible benefits along the way. Refutes the idea + that full adoption of MLIR is required before we can reap the benefits of + MLIR. + +[MLIR Rationale](Rationale.md) +: Introduces the motivation for MLIR and captures design discussions and + decisions made for various core features of MLIR. + +[Generic DAG Rewriter Infrastructure Rationale](RationaleGenericDAGRewriter.md) +: Details the rationale behind a general DAG-to-DAG rewrite infrastructure for + MLIR. + +[Linalg Dialect Rationale: The Case for Compiler-Friendly Custom Operations](RationaleLinalgDialect.md) +: Describes the key design principles that led to the existing implementation + of Linalg and lessons learned along the way. + +[MLIR: The case for a simplified polyhedral form](RationaleSimplifiedPolyhedralForm.md) +: An early design proposal exploring the tradeoffs of using a simplified form + for polyhedral compiler techniques in MLIR instead of the traditional + polyhedral schedule list form. + +[Usage of 'const' in MLIR, for core IR types](UsageOfConst.md) +: Explains the rationale for eschewing the use of `const` entirely for the + core IR types in MLIR.