OSDN Git Service

Revert some changes that were made to fix PR20680.
authorSanjoy Das <sanjoy@playingwithpointers.com>
Mon, 2 Mar 2015 21:41:07 +0000 (21:41 +0000)
committerSanjoy Das <sanjoy@playingwithpointers.com>
Mon, 2 Mar 2015 21:41:07 +0000 (21:41 +0000)
commitcaee94bbb4fb44971f594fe09fd61692dc4aa719
tree9864ecc7c0325364fc5b8edcdfdc066942105574
parent2dc2d3f820494f5041905121472ca199858807d1
Revert some changes that were made to fix PR20680.

This re-lands change r230921.  r230921 was reverted because it broke a
clang test; a checkin fixing the clang test will be commited shortly.

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 (SVN: 222213).

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

This reverts commit c0f2b8b528d8a37b0a1522aae90af649d6357eb5 (SVN: 217102).

Reviewers: majnemer, atrick, spatel

Differential Revision: http://reviews.llvm.org/D7979

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@231018 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Scalar/IndVarSimplify.cpp
test/Transforms/IndVarSimplify/2011-10-27-lftrnull.ll
test/Transforms/IndVarSimplify/lftr-address-space-pointers.ll
test/Transforms/IndVarSimplify/lftr-reuse.ll