summaryrefslogtreecommitdiffstats
path: root/contrib/llvm/lib/Transforms
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2011-12-09 22:23:45 +0000
committerdim <dim@FreeBSD.org>2011-12-09 22:23:45 +0000
commit0a8d9e83286f1e0207031442c8c9b143758a0a75 (patch)
tree9f786c58105dd9ad2fee073528a513777fea3e3c /contrib/llvm/lib/Transforms
parent1003872b67ebc3af8b693420f84097716d3b8395 (diff)
downloadFreeBSD-src-0a8d9e83286f1e0207031442c8c9b143758a0a75.zip
FreeBSD-src-0a8d9e83286f1e0207031442c8c9b143758a0a75.tar.gz
Upgrade our copy of llvm/clang to 3.0 release. Release notes can be
found at: http://llvm.org/releases/3.0/docs/ReleaseNotes.html MFC after: 1 week
Diffstat (limited to 'contrib/llvm/lib/Transforms')
-rw-r--r--contrib/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/contrib/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp b/contrib/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
index 92874b9..c15b805 100644
--- a/contrib/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
+++ b/contrib/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
@@ -2025,9 +2025,10 @@ bool InstCombiner::DoOneIteration(Function &F, unsigned Iteration) {
BasicBlock *InstParent = I->getParent();
BasicBlock::iterator InsertPos = I;
- if (!isa<PHINode>(Result)) // If combining a PHI, don't insert
- while (isa<PHINode>(InsertPos)) // middle of a block of PHIs.
- ++InsertPos;
+ // If we replace a PHI with something that isn't a PHI, fix up the
+ // insertion point.
+ if (!isa<PHINode>(Result) && isa<PHINode>(InsertPos))
+ InsertPos = InstParent->getFirstInsertionPt();
InstParent->getInstList().insert(InsertPos, Result);
OpenPOWER on IntegriCloud