diff options
author | Devang Patel <dpatel@apple.com> | 2008-06-06 17:50:58 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2008-06-06 17:50:58 +0000 |
commit | 7de85f4d54888a4e517954a4d12c13067142afb5 (patch) | |
tree | 3e42b68e17dddd76bee310c1caabea9204c80f49 | |
parent | 3232e56312290e95ab828768a67459efadc58ddd (diff) | |
download | external_llvm-7de85f4d54888a4e517954a4d12c13067142afb5.zip external_llvm-7de85f4d54888a4e517954a4d12c13067142afb5.tar.gz external_llvm-7de85f4d54888a4e517954a4d12c13067142afb5.tar.bz2 |
LoopSimplify preserves AA.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52053 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Transforms/Utils/LoopSimplify.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/Transforms/Utils/LoopSimplify.cpp b/lib/Transforms/Utils/LoopSimplify.cpp index 308819e..3063a43 100644 --- a/lib/Transforms/Utils/LoopSimplify.cpp +++ b/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; } |