forked from OSchip/llvm-project
Fix broken docs links (WritingAPass.md was renamed PassManagement.md)
This commit is contained in:
parent
ad0d3bbb27
commit
1b012a9146
|
@ -5,7 +5,7 @@
|
|||
With [Regions](LangRef.md#regions), the multi-level aspect of MLIR is structural
|
||||
in the IR. A lot of infrastructure within the compiler is built around this
|
||||
nesting structure; including the processing of operations within the
|
||||
[pass manager](WritingAPass.md#pass-manager). One advantage of the MLIR design
|
||||
[pass manager](PassManagement.md#pass-manager). One advantage of the MLIR design
|
||||
is that it is able to process operations in parallel, utilizing multiple
|
||||
threads. This is possible due to a property of the IR known as
|
||||
[`IsolatedFromAbove`](Traits.md#isolatedfromabove).
|
||||
|
|
|
@ -217,7 +217,7 @@ foo.region_op {
|
|||
```
|
||||
|
||||
This trait is an important structural property of the IR, and enables operations
|
||||
to have [passes](WritingAPass.md) scheduled under them.
|
||||
to have [passes](PassManagement.md) scheduled under them.
|
||||
|
||||
### Single Block with Implicit Terminator
|
||||
|
||||
|
|
|
@ -251,5 +251,5 @@ constant propagation or other, unrelated, optimization passes.
|
|||
|
||||
Optimization passes that do not fit/are difficult to specify in the above
|
||||
structure can be specified as general iterations across modules/functions. See
|
||||
[Writing a Pass](WritingAPass.md) for a general overview and introduction to
|
||||
[Writing a Pass](../PassManagement.md) for a general overview and introduction to
|
||||
optimization passes in MLIR.
|
||||
|
|
|
@ -310,7 +310,7 @@ void MulOp::inferShapes() { getResult().setType(getOperand(0).getType()); }
|
|||
At this point, each of the necessary Toy operations provide a mechanism by which
|
||||
to infer their output shapes. The ShapeInferencePass is a FunctionPass: it will
|
||||
run on each Function in isolation. MLIR also supports general
|
||||
[OperationPasses](../../WritingAPass.md#operation-pass) that run on any isolated
|
||||
[OperationPasses](../../PassManagement.md#operation-pass) that run on any isolated
|
||||
operation (i.e. other function-like operations), but here our module only
|
||||
contains functions, so there is no need to generalize to all operations.
|
||||
|
||||
|
|
|
@ -315,7 +315,7 @@ $ echo 'def main() { print([[1, 2], [3, 4]]); }' | ./bin/toyc-ch6 -emit=jit
|
|||
|
||||
You can also play with `-emit=mlir`, `-emit=mlir-affine`, `-emit=mlir-llvm`, and
|
||||
`-emit=llvm` to compare the various levels of IR involved. Also try options like
|
||||
[`--print-ir-after-all`](../../WritingAPass.md#ir-printing) to track the
|
||||
[`--print-ir-after-all`](../../PassManagement.md#ir-printing) to track the
|
||||
evolution of the IR throughout the pipeline.
|
||||
|
||||
The example code used throughout this section can be found in
|
||||
|
|
Loading…
Reference in New Issue