forked from OSchip/llvm-project
32 lines
1.5 KiB
Markdown
32 lines
1.5 KiB
Markdown
|
# 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.
|