This is an archive of the discontinued LLVM Phabricator instance.

This patch reverts some changes that were made to fix PR20680.
ClosedPublic

Authored by sanjoy on Feb 28 2015, 6:20 PM.

Details

Summary

As far as I can tell, the real bug causing the issue was fixed in r230533.

SCEVExpander should mark an increment operation as nuw or nsw only if
it can *prove* that the operation does not overflow. There shouldn't
be any situation where we have to do something different because of
no-wrap flags generated by SCEVExpander.

Revert "IndVarSimplify: Allow LFTR to fire more often"

This reverts commit 1ade0f0faa98877b688e0b9da58e876052c1e04e.

Revert "IndVarSimplify: Don't let LFTR compare against a poison value"

This reverts commit c0f2b8b528d8a37b0a1522aae90af649d6357eb5.

Diff Detail

Repository
rL LLVM

Event Timeline

sanjoy updated this revision to Diff 20947.Feb 28 2015, 6:20 PM
sanjoy retitled this revision from to This patch reverts some changes that were made to fix PR20680. As far as I can tell, the real bug causing the issue was fixed in r230533. SCEVExpander should mark an increment operation as nuw or nsw only if it can *prove* that the operation....
sanjoy updated this object.
sanjoy edited the test plan for this revision. (Show Details)
sanjoy added reviewers: majnemer, atrick, spatel.
sanjoy retitled this revision from This patch reverts some changes that were made to fix PR20680. As far as I can tell, the real bug causing the issue was fixed in r230533. SCEVExpander should mark an increment operation as nuw or nsw only if it can *prove* that the operation... to This patch reverts some changes that were made to fix PR20680..Feb 28 2015, 8:44 PM
sanjoy updated this object.
sanjoy added a subscriber: Unknown Object (MLST).
atrick accepted this revision.Mar 1 2015, 10:46 AM
atrick edited edge metadata.

Great!

This revision is now accepted and ready to land.Mar 1 2015, 10:46 AM
This revision was automatically updated to reflect the committed changes.