aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms/Utils/LoopSimplify.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Transforms/Utils/LoopSimplify.cpp')
-rw-r--r--lib/Transforms/Utils/LoopSimplify.cpp4
1 files changed, 1 insertions, 3 deletions
diff --git a/lib/Transforms/Utils/LoopSimplify.cpp b/lib/Transforms/Utils/LoopSimplify.cpp
index 69b2ec4447..fcea05402d 100644
--- a/lib/Transforms/Utils/LoopSimplify.cpp
+++ b/lib/Transforms/Utils/LoopSimplify.cpp
@@ -197,9 +197,7 @@ bool LoopSimplify::ProcessLoop(Loop *L) {
DominatorSet &DS = getAnalysis<DominatorSet>();
for (BasicBlock::iterator I = L->getHeader()->begin();
(PN = dyn_cast<PHINode>(I++)); )
- if (Value *V = PN->hasConstantValue(true))
- if (!isa<Instruction>(V) ||
- DS.dominates(cast<Instruction>(V)->getParent(), L->getHeader())) {
+ if (Value *V = PN->hasConstantValue()) {
PN->replaceAllUsesWith(V);
PN->eraseFromParent();
}