[mlir] Fix/Clarify parts of MLIR toy tutorial chapter 6+7

Summary:
* add missing comma.
* remove "having to register them here" phrasing, since register it
  is what we're doing, which made the comment a bit confusing.
* remove duplicate code.
* clarify link to chapter 3, since "folder" doesn't appear in that
  chapter.

Differential Revision: https://reviews.llvm.org/D75263
This commit is contained in:
Matthias Kramm 2020-02-27 17:53:03 -08:00 committed by River Riddle
parent 240769c8bb
commit 45d522d691
2 changed files with 7 additions and 8 deletions

View File

@ -94,7 +94,7 @@ by relying on [transitive lowering](../../../getting_started/Glossary.md#transit
mlir::populateLoopToStdConversionPatterns(patterns, &getContext());
mlir::populateStdToLLVMConversionPatterns(typeConverter, patterns);
// The only remaining operation to lower from the `toy` dialect, is the
// The only remaining operation, to lower from the `toy` dialect, is the
// PrintOp.
patterns.insert<PrintOpLowering>(&getContext());
```

View File

@ -74,7 +74,7 @@ DEFINE_SYM_KIND_RANGE(LINALG) // Linear Algebra Dialect
DEFINE_SYM_KIND_RANGE(TOY) // Toy language (tutorial) Dialect
// The following ranges are reserved for experimenting with MLIR dialects in a
// private context without having to register them here.
// private context.
DEFINE_SYM_KIND_RANGE(PRIVATE_EXPERIMENTAL_0)
```
@ -401,9 +401,7 @@ that contains a set of constant values for each of the `struct` elements.
This new operation materializes the Nth element of a `struct` value.
```mlir
%0 = toy.struct_constant [
dense<[[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]]> : tensor<2x3xf64>
] : !toy.struct<tensor<*xf64>>
// Using %0 from above
%1 = toy.struct_access %0[0] : !toy.struct<tensor<*xf64>> -> tensor<*xf64>
```
@ -481,9 +479,10 @@ module {
```
We have several `toy.struct_access` operations that access into a
`toy.struct_constant`. As detailed in [chapter 3](Ch-3.md), we can add folders
for these `toy` operations by setting the `hasFolder` bit on the operation
definition and providing a definition of the `*Op::fold` method.
`toy.struct_constant`. As detailed in [chapter 3](Ch-3.md) (FoldConstantReshape),
we can add folders for these `toy` operations by setting the `hasFolder` bit
on the operation definition and providing a definition of the `*Op::fold`
method.
```c++
/// Fold constants.