Skip to content

Commit

Permalink
[mlir] Add tutorial index.md pages
Browse files Browse the repository at this point in the history
Sets the content for the section entry pages Hugo side.

Differential Revision: https://reviews.llvm.org/D87969
  • Loading branch information
jpienaar committed Sep 21, 2020
1 parent 825203d commit 3a799de
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 37 deletions.
38 changes: 1 addition & 37 deletions mlir/docs/Tutorials/Toy/Ch-1.md
@@ -1,43 +1,7 @@
# Chapter 1: Toy Tutorial Introduction
# Chapter 1: Toy Language and AST

[TOC]

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/).

## The Chapters

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 Language

This tutorial will be illustrated with a toy language that we’ll call “Toy”
Expand Down
Empty file modified mlir/docs/Tutorials/Toy/Ch-2.md 100755 → 100644
Empty file.
37 changes: 37 additions & 0 deletions mlir/docs/Tutorials/Toy/_index.md
@@ -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.
4 changes: 4 additions & 0 deletions mlir/docs/Tutorials/_index.md
@@ -0,0 +1,4 @@
# Tutorials

This section contains multiple MLIR tutorials.
See [Toy tutorial](toy) for an introduction to using MLIR infrastructure.

0 comments on commit 3a799de

Please sign in to comment.