@@ -16,7 +16,7 @@ import ...API
16
16
"""
17
17
`apply`
18
18
19
- The `affine.apply` operation applies an [affine mapping](https://mlir.llvm.org/docs/Dialects/Affine/ #affine-maps)
19
+ The `affine.apply` operation applies an [affine mapping](#affine-maps)
20
20
to a list of SSA values, yielding a single SSA value. The number of
21
21
dimension and symbol arguments to `affine.apply` must be equal to the
22
22
respective number of dimensional and symbolic inputs to the affine mapping;
@@ -151,9 +151,9 @@ shorthand-bound ::= ssa-id | `-`? integer-literal
151
151
152
152
The `affine.for` operation represents an affine loop nest. It has one region
153
153
containing its body. This region must contain one block that terminates with
154
- [`affine.yield`](https://mlir.llvm.org/docs/Dialects/Affine/ #affineyield-affineaffineyieldop ). *Note:* when
154
+ [`affine.yield`](#affineyield-mliraffineyieldop ). *Note:* when
155
155
`affine.for` is printed in custom format, the terminator is omitted. The
156
- block has one argument of [`index`](https://mlir.llvm.org/docs/Dialects/ Builtin/#indextype) type that
156
+ block has one argument of [`index`](Builtin.md /#indextype) type that
157
157
represents the induction variable of the loop.
158
158
159
159
The `affine.for` operation executes its body a number of times iterating
@@ -164,7 +164,7 @@ lower bound but does not include the upper bound.
164
164
165
165
The lower and upper bounds of a `affine.for` operation are represented as an
166
166
application of an affine mapping to a list of SSA values passed to the map.
167
- The [same restrictions](https://mlir.llvm.org/docs/Dialects/Affine/ #restrictions-on-dimensions-and-symbols) hold for
167
+ The [same restrictions](#restrictions-on-dimensions-and-symbols) hold for
168
168
these SSA values as for all bindings of SSA values to dimensions and
169
169
symbols.
170
170
@@ -296,9 +296,9 @@ iteration space defined by an integer set (a conjunction of affine
296
296
constraints). A single `affine.if` may end with an optional `else` clause.
297
297
298
298
The condition of the `affine.if` is represented by an
299
- [integer set](https://mlir.llvm.org/docs/Dialects/Affine/ #integer-sets) (a conjunction of affine constraints),
299
+ [integer set](#integer-sets) (a conjunction of affine constraints),
300
300
and the SSA values bound to the dimensions and symbols in the integer set.
301
- The [same restrictions](https://mlir.llvm.org/docs/Dialects/Affine/ #restrictions-on-dimensions-and-symbols) hold for
301
+ The [same restrictions](#restrictions-on-dimensions-and-symbols) hold for
302
302
these SSA values as for all bindings of SSA values to dimensions and
303
303
symbols.
304
304
548
548
operation ::= ssa-id `=` `affine.min` affine-map-attribute dim-and-symbol-use-list
549
549
```
550
550
551
- The `affine.min` operation applies an [affine mapping](https://mlir.llvm.org/docs/Dialects/Affine/ #affine-expressions)
551
+ The `affine.min` operation applies an [affine mapping](#affine-expressions)
552
552
to a list of SSA values, and returns the minimum value of all result
553
553
expressions. The number of dimension and symbol arguments to `affine.min`
554
554
must be equal to the respective number of dimensional and symbolic inputs to
791
791
`vector_load`
792
792
793
793
The `affine.vector_load` is the vector counterpart of
794
- [affine.load](https://mlir.llvm.org/docs/Dialects/Affine/ #affineload-affineaffineloadop ). It reads a slice from a
795
- [MemRef](https://mlir.llvm.org/docs/Dialects/ Builtin/#memreftype), supplied as its first operand,
796
- into a [vector](https://mlir.llvm.org/docs/Dialects/ Builtin/#vectortype) of the same base elemental type.
794
+ [affine.load](#affineload-mliraffineloadop ). It reads a slice from a
795
+ [MemRef](Builtin.md /#memreftype), supplied as its first operand,
796
+ into a [vector](Builtin.md /#vectortype) of the same base elemental type.
797
797
The index for each memref dimension is an affine expression of loop induction
798
798
variables and symbols. These indices determine the start position of the read
799
799
within the memref. The shape of the return vector type determines the shape of
@@ -824,7 +824,7 @@ Example 3: 2-dim f32 vector load.
824
824
TODOs:
825
825
* Add support for strided vector loads.
826
826
* Consider adding a permutation map to permute the slice that is read from memory
827
- (see [vector.transfer_read](https://mlir.llvm.org/docs/Dialects/ Vector/#vectortransfer_read-vectortransferreadop )).
827
+ (see [vector.transfer_read](../ Vector/#vectortransfer_read-mlirvectortransferreadop )).
828
828
"""
829
829
function vector_load (
830
830
memref:: Value , indices:: Vector{Value} ; result:: IR.Type , map, location= Location ()
851
851
`vector_store`
852
852
853
853
The `affine.vector_store` is the vector counterpart of
854
- [affine.store](https://mlir.llvm.org/docs/Dialects/Affine/ #affinestore-affineaffinestoreop ). It writes a
855
- [vector](https://mlir.llvm.org/docs/Dialects/ Builtin/#vectortype), supplied as its first operand,
856
- into a slice within a [MemRef](https://mlir.llvm.org/docs/Dialects/ Builtin/#memreftype) of the same base
854
+ [affine.store](#affinestore-mliraffinestoreop ). It writes a
855
+ [vector](Builtin.md /#vectortype), supplied as its first operand,
856
+ into a slice within a [MemRef](Builtin.md /#memreftype) of the same base
857
857
elemental type, supplied as its second operand.
858
858
The index for each memref dimension is an affine expression of loop
859
859
induction variables and symbols. These indices determine the start position
@@ -886,7 +886,7 @@ affine.vector_store %v0, %0[%i0, %i1] : memref<100x100xf32>, vector<2x8xf32>
886
886
TODOs:
887
887
* Add support for strided vector stores.
888
888
* Consider adding a permutation map to permute the slice that is written to memory
889
- (see [vector.transfer_write](https://mlir.llvm.org/docs/Dialects/ Vector/#vectortransfer_write-vectortransferwriteop )).
889
+ (see [vector.transfer_write](../ Vector/#vectortransfer_write-mlirvectortransferwriteop )).
890
890
"""
891
891
function vector_store (
892
892
value:: Value , memref:: Value , indices:: Vector{Value} ; map, location= Location ()
0 commit comments