summaryrefslogtreecommitdiffstats
path: root/mlir/g3doc/RationaleSimplifiedPolyhedralForm.md
diff options
context:
space:
mode:
Diffstat (limited to 'mlir/g3doc/RationaleSimplifiedPolyhedralForm.md')
-rw-r--r--mlir/g3doc/RationaleSimplifiedPolyhedralForm.md14
1 files changed, 7 insertions, 7 deletions
diff --git a/mlir/g3doc/RationaleSimplifiedPolyhedralForm.md b/mlir/g3doc/RationaleSimplifiedPolyhedralForm.md
index a1830f0b4ab..6fe05a4d8c4 100644
--- a/mlir/g3doc/RationaleSimplifiedPolyhedralForm.md
+++ b/mlir/g3doc/RationaleSimplifiedPolyhedralForm.md
@@ -184,8 +184,8 @@ Our simple example above would be represented as:
```mlir
mlfunc @simple_example(... %N) {
- affine.for %i = 0 ... %N step 1 {
- affine.for %j = 0 ... %N step 1 {
+ for %i = 0 ... %N step 1 {
+ for %j = 0 ... %N step 1 {
// identity noop in this case, but can exist in general.
%0,%1 = affine.apply #57(%i, %j)
@@ -203,8 +203,8 @@ The example with the reduced domain would be represented with an if instruction:
```mlir
mlfunc @reduced_domain_example(... %N) {
- affine.for %i = 0 ... %N step 1 {
- affine.for %j = 0 ... %N step 1 {
+ for %i = 0 ... %N step 1 {
+ for %j = 0 ... %N step 1 {
// identity noop in this case, but can exist in general.
%0,%1 = affinecall #57(%i, %j)
@@ -233,8 +233,8 @@ that transformations call into):
```mlir
mlfunc @skewed_domain_example(... %N) {
- affine.for %t1 = 0 ... 2*N-2 step 1 {
- affine.for %t2 = max(0, t1-N+1) ... min(N, t1) step 1 {
+ for %t1 = 0 ... 2*N-2 step 1 {
+ for %t2 = max(0, t1-N+1) ... min(N, t1) step 1 {
(%i, %j) = (%t1-%t2, %t2)
...
}
@@ -373,7 +373,7 @@ mlfunc's (if we support them) will also have to have domains.
### Lack of redundancy in IR
The traditional form has multiple encodings for the same sorts of behavior: you
-end up having bits on `affine.for` loops to specify whether codegen should use
+end up having bits on `for` loops to specify whether codegen should use
"atomic/separate" policies, unroll loops, etc. Instructions can be split or can
generate multiple copies of their instruction because of overlapping domains,
etc.
OpenPOWER on IntegriCloud