Use ISL to compute the loop trip count when scalar evolution is
unable to do so.
Patch originally by Johannes Doerfert!
Differential D9444
Use ISL to Determine Loop Trip Count mssimpso on May 1 2015, 2:05 PM. Authored by
Details Use ISL to compute the loop trip count when scalar evolution is Patch originally by Johannes Doerfert!
Diff Detail
Event TimelineComment Actions Some comments are inlined. Except those and the test coverage we could improve the patch LGTM. We should probably add a test case for the nsw problem, e.g., that we do not check for nsw and therefore can assume an unconstrainted loop. The example should probably look similar to the one below, however we would need to force ScalarEvolution to not recognize the loop trip count. // Infinite loop for N < 0 in a non-wrapping world. for (int i = 0; i < N; i++) A[i] = i;
Comment Actions Is this patch waiting for some kind of feedback from my side? Johannes already gave a good review so feel free to follow up with him. One comment:
Comment Actions Rebased and addressed comments. Thanks for the reviews! Flag is now enabled by default. My apologies for waiting so long to update this patch. I've addressed your
Comment Actions LGTM, if it passes LNT (and maybe even your internal test). I will work on the domain modeling again soon but this is a really good starting point.
Comment Actions Removed some refactoring to restore correct behavior. Please feel free to commit this change when you're satisfied with it, as I do |