summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/IVUsers.cpp
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2009-12-17 09:39:49 +0000
committerEvan Cheng <evan.cheng@apple.com>2009-12-17 09:39:49 +0000
commit090ac0865a09ff592ec1b36f41f3273d55f98f95 (patch)
tree7a12c98bb38240d4ebbe21fbbdad4eaa10a96d55 /llvm/lib/Analysis/IVUsers.cpp
parentaacafe54af7bf2014083bd5d088b79864100d3c7 (diff)
downloadbcm5719-llvm-090ac0865a09ff592ec1b36f41f3273d55f98f95.tar.gz
bcm5719-llvm-090ac0865a09ff592ec1b36f41f3273d55f98f95.zip
Revert 91280-91283, 91286-91289, 91291, 91293, 91295-91296. It apparently introduced a non-deterministic behavior in the optimizer somewhere.
llvm-svn: 91598
Diffstat (limited to 'llvm/lib/Analysis/IVUsers.cpp')
-rw-r--r--llvm/lib/Analysis/IVUsers.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/llvm/lib/Analysis/IVUsers.cpp b/llvm/lib/Analysis/IVUsers.cpp
index 627dbbb3288..37747b65174 100644
--- a/llvm/lib/Analysis/IVUsers.cpp
+++ b/llvm/lib/Analysis/IVUsers.cpp
@@ -53,7 +53,7 @@ static bool containsAddRecFromDifferentLoop(const SCEV *S, Loop *L) {
if (newLoop == L)
return false;
// if newLoop is an outer loop of L, this is OK.
- if (newLoop->contains(L->getHeader()))
+ if (!LoopInfo::isNotAlreadyContainedIn(L, newLoop))
return false;
}
return true;
@@ -307,7 +307,6 @@ bool IVUsers::runOnLoop(Loop *l, LPPassManager &LPM) {
for (BasicBlock::iterator I = L->getHeader()->begin(); isa<PHINode>(I); ++I)
AddUsersIfInteresting(I);
- Processed.clear();
return false;
}
@@ -370,7 +369,7 @@ void IVUsers::dump() const {
void IVUsers::releaseMemory() {
IVUsesByStride.clear();
StrideOrder.clear();
- IVUses.clear();
+ Processed.clear();
}
void IVStrideUse::deleted() {
OpenPOWER on IntegriCloud