[PATCH] D9444: [Polly] Use ISL to Determine Loop Trip Count

Matthew Simpson via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 24 12:32:54 PDT 2015


mssimpso marked 5 inline comments as done.

================
Comment at: lib/Analysis/ScopDetection.cpp:804
@@ -739,3 +803,3 @@
   if (AllowNonAffineSubRegions) {
     Region *R = RI->getRegionFor(L->getHeader());
     if (R->contains(L))
----------------
I moved this to canUseISLTripCount.

================
Comment at: lib/Analysis/ScopDetection.cpp:1039
@@ -973,3 +1038,3 @@
   if (!DetectRegionsWithoutLoops && !Context.hasAffineLoops)
     invalid<ReportUnprofitable>(Context, /*Assert=*/true, &CurRegion);
 
----------------
Agreed. I now set Context.hasAffineLoops = true if canUseISLTripCount succeeds.

================
Comment at: lib/Analysis/ScopInfo.cpp:99
@@ -98,3 +98,3 @@
 
   return isl_schedule_sequence(Prev, Succ);
 }
----------------
I made this utility a member of Scop since SCEVAffinator was factored out since the initial revision.

================
Comment at: lib/Analysis/ScopInfo.cpp:602
@@ -601,3 +601,3 @@
   unsigned lastDimension = isl_map_dim(Map, isl_dim_in) - 1;
 
   // Set all but the last dimension to be equal for the input and output
----------------
This was a mistake.

================
Comment at: lib/Analysis/ScopInfo.cpp:750
@@ +749,3 @@
+  LoopMAff = isl_multi_aff_set_aff(LoopMAff, loopDimension, LoopAff);
+  isl_map *TranslationMap = isl_map_from_multi_aff(LoopMAff);
+
----------------
See comment above. I simplify the condition on the domain to remove unnecessary constraints.


http://reviews.llvm.org/D9444





More information about the llvm-commits mailing list