This is an archive of the discontinued LLVM Phabricator instance.

Recognize n/1 in the SCEV divide function
ClosedPublic

Authored by bcahoon on Apr 13 2015, 10:38 AM.

Details

Summary

n/1 generates a quotient equal to n and a remainder of 0.

If this case is not recognized, then the SCEV divide() function can return a remainder that is greater than or equal to the denominator, which means the delinearized subscripts for the test case will be incorrect. The bug will manifest in the dependence analysis pass when delinearizing references. In the test case, the innermost dimension will appear to be the same when they are different by 1 iteration.

Diff Detail

Repository
rL LLVM

Event Timeline

bcahoon updated this revision to Diff 23678.Apr 13 2015, 10:38 AM
bcahoon retitled this revision from to Recognize n/1 in the SCEV divide function.
bcahoon updated this object.
bcahoon edited the test plan for this revision. (Show Details)
bcahoon set the repository for this revision to rL LLVM.
bcahoon added subscribers: Unknown Object (MLST), sebpop, meheff, apazos.
This revision was automatically updated to reflect the committed changes.