summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Utils/LoopSimplify.cpp
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2008-06-06 17:50:58 +0000
committerDevang Patel <dpatel@apple.com>2008-06-06 17:50:58 +0000
commit8549e4ca07c1f1977387b2d63670553ad1f07ab0 (patch)
treeb53c7f1256a880ba5f67dbb07ffd477145c36016 /llvm/lib/Transforms/Utils/LoopSimplify.cpp
parent656a917ad927f7f705e88fc8c6fb593cd93f51bd (diff)
downloadbcm5719-llvm-8549e4ca07c1f1977387b2d63670553ad1f07ab0.tar.gz
bcm5719-llvm-8549e4ca07c1f1977387b2d63670553ad1f07ab0.zip
LoopSimplify preserves AA.
llvm-svn: 52053
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopSimplify.cpp')
-rw-r--r--llvm/lib/Transforms/Utils/LoopSimplify.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/llvm/lib/Transforms/Utils/LoopSimplify.cpp b/llvm/lib/Transforms/Utils/LoopSimplify.cpp
index 308819e70a7..3063a43a6ec 100644
--- a/llvm/lib/Transforms/Utils/LoopSimplify.cpp
+++ b/llvm/lib/Transforms/Utils/LoopSimplify.cpp
@@ -73,6 +73,7 @@ namespace {
AU.addPreserved<LoopInfo>();
AU.addPreserved<DominatorTree>();
AU.addPreserved<DominanceFrontier>();
+ AU.addPreserved<AliasAnalysis>();
AU.addPreservedID(BreakCriticalEdgesID); // No critical edges added.
}
@@ -252,9 +253,10 @@ ReprocessLoop:
for (BasicBlock::iterator I = L->getHeader()->begin();
(PN = dyn_cast<PHINode>(I++)); )
if (Value *V = PN->hasConstantValue()) {
- PN->replaceAllUsesWith(V);
- PN->eraseFromParent();
- }
+ if (AA) AA->deleteValue(PN);
+ PN->replaceAllUsesWith(V);
+ PN->eraseFromParent();
+ }
return Changed;
}
OpenPOWER on IntegriCloud