diff options
author | Devang Patel <dpatel@apple.com> | 2009-02-05 21:46:41 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2009-02-05 21:46:41 +0000 |
commit | 998cbb0444ecb597e4b46f1950561d92b5395769 (patch) | |
tree | 6d1cfe0ae87d29413c1dd33ad71d060fe4bdb4dd /lib/Transforms/Utils/SimplifyCFG.cpp | |
parent | d254a7fc0c354d165caee7e085ca0a95face4fa3 (diff) |
Revert rev. 63876. It is causing llvm-gcc bootstrap failure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63888 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Utils/SimplifyCFG.cpp')
-rw-r--r-- | lib/Transforms/Utils/SimplifyCFG.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/Transforms/Utils/SimplifyCFG.cpp b/lib/Transforms/Utils/SimplifyCFG.cpp index 0248d3d0ca..d9c4b69e6d 100644 --- a/lib/Transforms/Utils/SimplifyCFG.cpp +++ b/lib/Transforms/Utils/SimplifyCFG.cpp @@ -1330,6 +1330,20 @@ static bool FoldTwoEntryPHINode(PHINode *PN) { return true; } +/// isTerminatorFirstRelevantInsn - Return true if Term is very first +/// instruction ignoring Phi nodes and dbg intrinsics. +static bool isTerminatorFirstRelevantInsn(BasicBlock *BB, Instruction *Term) { + BasicBlock::iterator BBI = Term; + while (BBI != BB->begin()) { + --BBI; + if (!isa<DbgInfoIntrinsic>(BBI)) + break; + } + if (isa<PHINode>(BBI) || &*BBI == Term) + return true; + return false; +} + /// SimplifyCondBranchToTwoReturns - If we found a conditional branch that goes /// to two returning blocks, try to merge them together into one return, /// introducing a select if the return values disagree. |