diff options
author | Chris Lattner <sabre@nondot.org> | 2003-08-05 16:27:44 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-08-05 16:27:44 +0000 |
commit | 122558b05bb753894adc7d925f69dc9ddfa586fa (patch) | |
tree | f9b5abdaf1b252992f6dc099c660779a922bc2c9 /lib/Transforms/Utils/SimplifyCFG.cpp | |
parent | 5d6bdae11811a4e540675c47c5b81935f3f35695 (diff) |
Fix bug: SimplifyCFG/2003-08-05-InvokeCrash.ll
Fix bug: SimplifyCFG/2003-08-05-MishandleInvoke.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7599 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Utils/SimplifyCFG.cpp')
-rw-r--r-- | lib/Transforms/Utils/SimplifyCFG.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/Transforms/Utils/SimplifyCFG.cpp b/lib/Transforms/Utils/SimplifyCFG.cpp index e1910446de..1adbef9253 100644 --- a/lib/Transforms/Utils/SimplifyCFG.cpp +++ b/lib/Transforms/Utils/SimplifyCFG.cpp @@ -201,7 +201,8 @@ bool SimplifyCFG(BasicBlock *BB) { } BasicBlock *OnlySucc = 0; - if (OnlyPred && OnlyPred != BB) { // Don't break self loops + if (OnlyPred && OnlyPred != BB && // Don't break self loops + OnlyPred->getTerminator()->getOpcode() != Instruction::Invoke) { // Check to see if there is only one distinct successor... succ_iterator SI(succ_begin(OnlyPred)), SE(succ_end(OnlyPred)); OnlySucc = BB; |