Fix missing links in the documentation
authorKazuaki Ishizaki <kiszk@users.noreply.github.com>
Fri, 27 Sep 2019 14:44:52 +0000 (07:44 -0700)
committerA. Unique TensorFlower <gardener@tensorflow.org>
Fri, 27 Sep 2019 15:07:31 +0000 (08:07 -0700)
Closes tensorflow/mlir#149

COPYBARA_INTEGRATE_REVIEW=https://github.com/tensorflow/mlir/pull/149 from kiszk:missing_links_g3doc 5f98bc279649d54ea3dcf9fe0e17be6ad6d6cb8f
PiperOrigin-RevId: 271568274

mlir/g3doc/Dialects/Affine.md
mlir/g3doc/Dialects/Vector.md
mlir/g3doc/LangRef.md
mlir/g3doc/OpDefinitions.md
mlir/g3doc/Tutorials/Toy/Ch-1.md
mlir/g3doc/WritingAPass.md

index 98e451f58836d01e65a80eb1cad578e1b5698b79..30fce026c5c357ae3f78786ed3337af286c2cce3 100644 (file)
@@ -300,7 +300,7 @@ operation ::= ssa-id `=` `affine.apply` affine-map dim-and-symbol-use-list
 ```
 
 The `affine.apply` operation applies an
-[affine mapping](../LangRef.md#affine-expressions) to a list of SSA values,
+[affine mapping](#affine-expressions) to a list of SSA values,
 yielding a single SSA value. The number of dimension and symbol arguments to
 affine.apply must be equal to the respective number of dimensional and symbolic
 inputs to the affine mapping; the `affine.apply` operation always returns one
@@ -392,7 +392,7 @@ space defined by an integer set (a conjunction of affine constraints). A single
 `affine.if` may end with an optional `else` clause.
 
 The condition of the `affine.if` is represented by an
-[integer set](../LangRef.md#integer-sets) (a conjunction of affine constraints),
+[integer set](#integer-sets) (a conjunction of affine constraints),
 and the SSA values bound to the dimensions and symbols in the integer set. The
 [same restrictions](#restrictions-on-dimensions-and-symbols) hold for these SSA
 values as for all bindings of SSA values to dimensions and symbols.
index ea916bbb2d3d75eddee80cedb80624be30f77f39..4607c32fe74413f16fa0382ff67c0980ffe133ed 100644 (file)
@@ -47,7 +47,7 @@ The `vector.transfer_read` performs a blocking read from a slice within a scalar
 [vector](../LangRef.md#vector-type) of the same elemental type. The slice is
 further defined by a full-rank index within the MemRef, supplied as the operands
 `2 .. 1 + rank(memref)`. The permutation_map [attribute](../LangRef.md#attributes)
-is an [affine-map](../LangRef.md#affine-maps) which specifies the transposition on
+is an [affine-map](Affine.md#affine-maps) which specifies the transposition on
 the slice to match the vector shape. The size of the slice is specified by the
 size of the vector, given as the return type. Optionally, an `ssa-value` of the
 same elemental type as the MemRef is provided as the last operand to specify
@@ -146,7 +146,7 @@ within a scalar [MemRef](../LangRef.md#memref-type) of the same elemental type,
 supplied as its second operand. The slice is further defined by a full-rank
 index within the MemRef, supplied as the operands `3 .. 2 + rank(memref)`. The
 permutation_map [attribute](../LangRef.md#attributes) is an
-[affine-map](../LangRef.md#affine-maps) which specifies the transposition on the
+[affine-map](Affine.md#affine-maps) which specifies the transposition on the
 slice to match the vector shape. The size of the slice is specified by the size
 of the vector. This operation is called 'write' by opposition to 'store' because
 the super-vector granularity is generally not representable with a single
index e80cf061f536a0460f8e1ea3645177036110c3a5..39d98de9d8f5034598d81f36e52db015ac90255d 100644 (file)
@@ -31,7 +31,7 @@ which means that values are defined before use and have scope defined by their
 dominance relations. Operations may produce zero or more results, and each is a
 distinct SSA value with its own type defined by the [type system](#type-system).
 
-The unit of code in MLIR is an [Operation](#operation). Operations allow for
+The unit of code in MLIR is an [Operation](#operations). Operations allow for
 representing many different concepts: allocating buffers, producing views to
 transform them, target-independent arithmetic, target-specific operations, and
 even arbitrary user-defined high-level operations including the
index 28cab5d1f85e367100da1761818758929c62af2e..bc0d7533430fa13de99712049c5544268fe0b317 100644 (file)
@@ -844,7 +844,7 @@ requirements that were desirable:
 * The op's traits (e.g., commutative) are modelled along with the op in
   the registry.
 * The op's operand/return type constraints are modelled along with the op in
-  the registry (see [Type constraints](#type-constraints) discussion below),
+  the registry (see [Shape inference](#shape-inference) discussion below),
   this allows (e.g.) optimized concise syntax in textual dumps.
 * Behavior of the op is documented along with the op with a summary and a
   description. The description is written in markdown and extracted for
index 0e275d0b458b4aaf4de31f3a672c35f3f396d6d8..a10a3bdc9b2c7c21b01471907af5cb9c10ce3ad3 100644 (file)
@@ -22,8 +22,8 @@ This tutorial is divided in the following chapters:
     high level language specific semantics towards a generic linear-algebra
     oriented dialect for optimizations. Ultimately we will emit LLVM IR for code
     generation.
--   [Chapter #5](Ch-6.md): A REPL?
--   [Chapter #6](Ch-7.md): Custom backends? GPU using LLVM? TPU? XLA
+-   [Chapter #6](Ch-6.md): A REPL?
+-   [Chapter #7](Ch-7.md): Custom backends? GPU using LLVM? TPU? XLA
 
 ## The Language
 
index 64953dff22f918ee90b840c1c31b71b9daf04db5..ae371d7b9bab5929f4647065de94b437883096b3 100644 (file)
@@ -312,7 +312,7 @@ program has been run through the passes. This provides several benefits:
 ## Pass Registration
 
 Briefly shown in the example definitions of the various
-[pass types](#pass-types) is the `PassRegistration` class. This is a utility to
+pass types is the `PassRegistration` class. This is a utility to
 register derived pass classes so that they may be created, and inspected, by
 utilities like mlir-opt. Registering a pass class takes the form: