[PATCH] D12499: [WIP] Replace ScalarEvolution based domain generation

Johannes Doerfert via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 31 12:50:56 PDT 2015


jdoerfert added a comment.

Some comments to understand the test changes.


================
Comment at: test/Isl/CodeGen/OpenMP/loop-body-references-outer-values-3.ll:12
@@ -11,3 +12,3 @@
 ; AST: #pragma omp parallel for
-; AST: for (int c0 = 0; c0 < cols; c0 += 1)
 ; AST:   Stmt_for_body(c0);
----------------
There was an if (cols >= 2) around this loop and a Stmt_for_body(0) in the else case.
The conditional is gone in the new version.

================
Comment at: test/Isl/CodeGen/OpenMP/loop-body-references-outer-values-3.ll:42
@@ -41,3 +43,3 @@
 ; AST: #pragma omp parallel for
-; AST: for (int c0 = 0; c0 < cols; c0 += 1)
 ; AST:   Stmt_for_body(c0);
----------------
There was an if (cols >= 2) around this loop and a Stmt_for_body(0) in the else case.
The conditional is gone in the new version.

================
Comment at: test/Isl/CodeGen/OpenMP/reference-preceeding-loop.ll:17
@@ -16,3 @@
-; AST-NEXT:   #pragma omp parallel for
-; AST-NEXT:   for (int c0 = 0; c0 <= p_0 + p_2; c0 += 1)
-; AST-NEXT:     Stmt_while_body(c0);
----------------
This test was funny, p_0 is actually -p_2, hence the loop had one iteration only, namely Stmt_while_body(0)

================
Comment at: test/Isl/CodeGen/two-scops-in-row.ll:11
@@ -10,3 +11,1 @@
-; SCALAR:       if (Scalar0.val >= 100)
-; SCALAR:         Stmt_for_1(0);
 ; SCALAR:     }
----------------
Similar to the case above, Stmt_for_1(0) is always executed here but it is explicit in the new version

================
Comment at: test/ScopInfo/isl_trip_count_01.ll:3
@@ -2,3 +2,3 @@
 ;
-; CHECK: [M, N] -> { Stmt_while_body[i0] : i0 >= 0 and 4i0 <= -M + N }
 ;
----------------
Here the original test case is actually broken. If you look at the code but ignore the entry node (it is __not__ in the SCoP!) than you see that for N=0 and M=1 we would execute while_body but the domain says otherwise.

================
Comment at: test/ScopInfo/loop_affine_bound_0.ll:67
@@ -66,3 +66,1 @@
-; CHECK-DAG:          and
-; CHECK-DAG:             N >= 0
 ; CHECK:               }
----------------
This is redundant as it can be extracted from the rest.

================
Comment at: test/ScopInfo/loop_affine_bound_1.ll:19
@@ -18,3 +18,3 @@
   %4 = icmp sgt i64 %3, 0                         ; <i1> [#uses=1]
-  br i1 %4, label %bb.nph8, label %return
+  br i1 true, label %bb.nph8, label %return
 
----------------
This was just to make clear that the original code did not use the entry condition but just generates the wrong domain (similar to the isl_trip_count_01.ll above).

================
Comment at: test/ScopInfo/loop_affine_bound_1.ll:66
@@ -65,3 +67,3 @@
 ; CHECK-DAG:          and
-; CHECK-DAG:             i0 <= 1 + 5N
 ; CHECK:               }
----------------
Again a broken test for M=-1 and N=0.

================
Comment at: test/ScopInfo/loop_affine_bound_2.ll:77
@@ -76,3 +76,1 @@
-; CHECK-DAG:                and
-; CHECK-DAG:                  4i0 <= 10 + 5N - 6M
 ; CHECK-DAG:                }
----------------
Again redundant.


http://reviews.llvm.org/D12499





More information about the llvm-commits mailing list