summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mlir/g3doc/LangRef.md14
1 files changed, 8 insertions, 6 deletions
diff --git a/mlir/g3doc/LangRef.md b/mlir/g3doc/LangRef.md
index cd6d3314c7c..da60b8b892e 100644
--- a/mlir/g3doc/LangRef.md
+++ b/mlir/g3doc/LangRef.md
@@ -760,7 +760,6 @@ TODO: Need to decide on a representation for quantized integers
Syntax:
```
-
memref-type ::= ranked-memref-type | unranked-memref-type
ranked-memref-type ::= `memref` `<` dimension-list-ranked tensor-memref-element-type
@@ -811,20 +810,23 @@ exposed to codegen but one may query the rank of an unranked memref (a special
op will be needed for this purpose) and perform a switch and cast to a ranked
memref as a prerequisite to codegen.
-Example ```mlir // With static ranks, we need a function for each // possible
-argument type %A = alloc() : memref<16x32xf32> %B = alloc() :
+Example:
+
+```mlir
+// With static ranks, we need a function for each possible argument type
+%A = alloc() : memref<16x32xf32> %B = alloc() :
memref<16x32x64xf32> call @helper_2D(%A) : (memref<16x32xf32>)->() call
@helper_3D(%B) : (memref<16x32x64xf32>)->()
-// With unknown rank, the functions can be unified under one unranked type
+// With unknown rank, the functions can be unified under one unranked type
%A = alloc() : memref<16x32xf32>
%B = alloc() : memref<16x32x64xf32>
// Remove rank info
%A_u = memref_cast %A : memref<16x32xf32> -> memref<*xf32>
%B_u = memref_cast %B : memref<16x32x64xf32> -> memref<*xf32>
-// call same function with dynamic ranks
+// call same function with dynamic ranks
call @helper(%A_u) : (memref<*xf32>)->()
-call @helper(%B_u) : (memref<*xf32>)->()
+call @helper(%B_u) : (memref<*xf32>)->()
```
The core syntax and representation of a layout specification is a
OpenPOWER on IntegriCloud