[PATCH] Allow non-affine control flow -- SCoP Modeling

Sebastian Pop sebpop at gmail.com
Tue Feb 24 06:41:20 PST 2015


LGTM


REPOSITORY
  rL LLVM

================
Comment at: polly/trunk/include/polly/ScopInfo.h:471
@@ +470,3 @@
+  /// @param isApproximated Flag to indicate blocks that might not be executed,
+  ///                       hence for which write accesses need to be modelt as
+  ///                       may-write accesses.
----------------
s/modelt/modeled/


================
Comment at: polly/trunk/lib/Analysis/ScopInfo.cpp:1040
@@ -1008,1 +1039,3 @@
+/// two loads as operands. If the binary operand is commutative &
+/// associative,
 /// used only once (by @p StoreMA) and its load operands are also used only
----------------
please revert the changes to this comment

================
Comment at: polly/trunk/lib/Analysis/ScopInfo.cpp:1046
@@ -1013,1 +1045,3 @@
+/// Note: We allow only one use to ensure the load and binary operator
+/// cannot
 ///       escape this block or into any other store except @p StoreMA.
----------------
same

================
Comment at: polly/trunk/lib/Analysis/ScopInfo.cpp:1064
@@ -1030,1 +1063,3 @@
+  // Skip if the opcode of the binary operator is not
+  // commutative/associative
   if (!BinOp->isCommutative() || !BinOp->isAssociative())
----------------
same

================
Comment at: polly/trunk/lib/Analysis/ScopInfo.cpp:1104
@@ -1065,1 +1103,3 @@
+/// together with the "only one user" check in
+/// collectCandiateReductionLoads,
 /// guarantees that none of the intermediate results will escape during
----------------
same

================
Comment at: polly/trunk/lib/Analysis/ScopInfo.cpp:1113
@@ -1073,1 +1112,3 @@
+  // First collect candidate load-store reduction chains by iterating over
+  // all
   // stores and collecting possible reduction loads.
----------------
same

================
Comment at: polly/trunk/lib/Analysis/ScopInfo.cpp:1332
@@ -1289,1 +1331,3 @@
+  //          possibly influencing the run-time check may cause certain
+  //          scops
   //          to not be executed.
----------------
same

================
Comment at: polly/trunk/lib/Analysis/ScopInfo.cpp:1345
@@ -1301,1 +1344,3 @@
+  //   otherwise we would access out of bound data. Now, knowing that code
+  //   is
   //   only executed for the case m >= 0, it is sufficient to assume p >= 0.
----------------
same

================
Comment at: polly/trunk/lib/Analysis/ScopInfo.cpp:1437
@@ -1389,1 +1436,3 @@
+  //   o) For each group with more than one base pointer we then compute
+  //   minimal
   //      and maximal accesses to each array in this group.
----------------
same

================
Comment at: polly/trunk/lib/Analysis/ScopInfo.cpp:1538
@@ -1489,1 +1537,3 @@
+    // the non read only ones with exactly one read only one at a time into
+    // a
     // new alias group and clear the old alias group in the end.
----------------
same

http://reviews.llvm.org/D7846

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list