aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorAnton Korobeynikov <asl@math.spbu.ru>2008-12-05 19:38:49 +0000
committerAnton Korobeynikov <asl@math.spbu.ru>2008-12-05 19:38:49 +0000
commit2e8710c3c867be8b39429c3d17da0672e8af76e6 (patch)
treebdb13a76fede907119a10a491d4dd62eb8673120 /lib
parentef730a8dba7e174ed5b10be7eb5ae0044ad361f5 (diff)
downloadexternal_llvm-2e8710c3c867be8b39429c3d17da0672e8af76e6.zip
external_llvm-2e8710c3c867be8b39429c3d17da0672e8af76e6.tar.gz
external_llvm-2e8710c3c867be8b39429c3d17da0672e8af76e6.tar.bz2
Revert invalid r60393. It causes llvm-gcc bootstrap fails in release builds.
See PR3160 for details git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60604 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Transforms/Scalar/GVN.cpp9
1 files changed, 2 insertions, 7 deletions
diff --git a/lib/Transforms/Scalar/GVN.cpp b/lib/Transforms/Scalar/GVN.cpp
index 385de02..6e0296d 100644
--- a/lib/Transforms/Scalar/GVN.cpp
+++ b/lib/Transforms/Scalar/GVN.cpp
@@ -1484,7 +1484,6 @@ bool GVN::performPRE(Function& F) {
if (isCriticalEdge(PREPred->getTerminator(), succNum)) {
toSplit.push_back(std::make_pair(PREPred->getTerminator(), succNum));
- Changed = true;
continue;
}
@@ -1547,14 +1546,10 @@ bool GVN::performPRE(Function& F) {
}
for (SmallVector<std::pair<TerminatorInst*, unsigned>, 4>::iterator
- I = toSplit.begin(), E = toSplit.end(); I != E; ++I) {
+ I = toSplit.begin(), E = toSplit.end(); I != E; ++I)
SplitCriticalEdge(I->first, I->second, this);
- BasicBlock* NewBlock = I->first->getSuccessor(I->second);
- localAvail[NewBlock] =
- new ValueNumberScope(localAvail[I->first->getParent()]);
- }
- return Changed;
+ return Changed || toSplit.size();
}
// iterateOnFunction - Executes one iteration of GVN