summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2008-03-24 20:16:14 +0000
committerDevang Patel <dpatel@apple.com>2008-03-24 20:16:14 +0000
commita38f58aa5ce7d05e7f5b35099f4dc28297b3e748 (patch)
tree225a59c4d3fcdcd85f7173fa6b9e16dce24ddcb8 /llvm/lib/Transforms
parenta863ccadeb723377cea48c0eb7741903dd56f8b9 (diff)
downloadbcm5719-llvm-a38f58aa5ce7d05e7f5b35099f4dc28297b3e748.tar.gz
bcm5719-llvm-a38f58aa5ce7d05e7f5b35099f4dc28297b3e748.zip
Add incoming value from header only if phi node has any use inside the loop.
llvm-svn: 48738
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r--llvm/lib/Transforms/Scalar/LoopIndexSplit.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/Scalar/LoopIndexSplit.cpp b/llvm/lib/Transforms/Scalar/LoopIndexSplit.cpp
index 3aedb93fd17..513cad8a566 100644
--- a/llvm/lib/Transforms/Scalar/LoopIndexSplit.cpp
+++ b/llvm/lib/Transforms/Scalar/LoopIndexSplit.cpp
@@ -1665,8 +1665,9 @@ void LoopIndexSplit::updatePHINodes(BasicBlock *ExitBB, BasicBlock *Latch,
break;
}
- assert (NewV && "Unable to find new incoming value for exit block PHI");
- PN->addIncoming(NewV, Header);
+ // Add incoming value from header only if PN has any use inside the loop.
+ if (NewV)
+ PN->addIncoming(NewV, Header);
} else if (Instruction *PHI = dyn_cast<Instruction>(V)) {
// If this instruction is IVIncrement then IV is new incoming value
OpenPOWER on IntegriCloud