Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Sets the content for the section entry pages Hugo side. Differential Revision: https://reviews.llvm.org/D87969
- Loading branch information
Showing
4 changed files
with
42 additions
and
37 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
# Toy Tutorial | ||
|
||
This tutorial runs through the implementation of a basic toy language on top of | ||
MLIR. The goal of this tutorial is to introduce the concepts of MLIR; in | ||
particular, how [dialects](../../LangRef.md#dialects) can help easily support | ||
language specific constructs and transformations while still offering an easy | ||
path to lower to LLVM or other codegen infrastructure. This tutorial is based on | ||
the model of the | ||
[LLVM Kaleidoscope Tutorial](https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/index.html). | ||
|
||
This tutorial assumes you have cloned and built MLIR; if you have not yet done | ||
so, see | ||
[Getting started with MLIR](https://mlir.llvm.org/getting_started/). | ||
|
||
This tutorial is divided in the following chapters: | ||
|
||
- [Chapter #1](Ch-1.md): Introduction to the Toy language and the definition | ||
of its AST. | ||
- [Chapter #2](Ch-2.md): Traversing the AST to emit a dialect in MLIR, | ||
introducing base MLIR concepts. Here we show how to start attaching | ||
semantics to our custom operations in MLIR. | ||
- [Chapter #3](Ch-3.md): High-level language-specific optimization using | ||
pattern rewriting system. | ||
- [Chapter #4](Ch-4.md): Writing generic dialect-independent transformations | ||
with Interfaces. Here we will show how to plug dialect specific information | ||
into generic transformations like shape inference and inlining. | ||
- [Chapter #5](Ch-5.md): Partially lowering to lower-level dialects. We'll | ||
convert some of our high level language specific semantics towards a generic | ||
affine oriented dialect for optimization. | ||
- [Chapter #6](Ch-6.md): Lowering to LLVM and code generation. Here we'll | ||
target LLVM IR for code generation, and detail more of the lowering | ||
framework. | ||
- [Chapter #7](Ch-7.md): Extending Toy: Adding support for a composite type. | ||
We'll demonstrate how to add a custom type to MLIR, and how it fits in the | ||
existing pipeline. | ||
|
||
The [first chapter](Ch-1.md) will introduce the Toy language and AST. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
# Tutorials | ||
|
||
This section contains multiple MLIR tutorials. | ||
See [Toy tutorial](toy) for an introduction to using MLIR infrastructure. |