This is an archive of the discontinued LLVM Phabricator instance.

[SCEV] Mark AddExprs as nsw or nuw if legal
ClosedPublic

Authored by sanjoy on Oct 9 2015, 5:30 PM.

Details

Summary

This uses ScalarEvolution::getRange and not potentially control
dependent nsw and nuw bits on the arithmetic instruction.

Diff Detail

Event Timeline

sanjoy updated this revision to Diff 37009.Oct 9 2015, 5:30 PM
sanjoy retitled this revision from to [SCEV] Mark AddExprs as nsw or nuw if legal.
sanjoy updated this object.
sanjoy added reviewers: atrick, hfinkel, nlewycky.
sanjoy added a subscriber: llvm-commits.
sanjoy updated this revision to Diff 37148.Oct 12 2015, 12:48 PM
  • rebase over changes to D13612
sanjoy updated this revision to Diff 37191.Oct 12 2015, 3:37 PM
  • review. Note the tests passing are gated on D13677
sanjoy updated this revision to Diff 37208.Oct 12 2015, 6:47 PM
  • actually add tests
reames added a subscriber: reames.Oct 21 2015, 6:39 PM
reames added inline comments.
lib/Analysis/ScalarEvolution.cpp
1946

Comment?

1949

Given we could have learned a new fact at line 1643, shouldn't this be using that new fact?

sanjoy updated this revision to Diff 38073.Oct 21 2015, 7:16 PM
sanjoy marked 2 inline comments as done.
  • address review
reames accepted this revision.Oct 22 2015, 11:17 AM
reames added a reviewer: reames.

LGTM

This revision is now accepted and ready to land.Oct 22 2015, 11:17 AM
This revision was automatically updated to reflect the committed changes.