diff options
author | David Majnemer <david.majnemer@gmail.com> | 2016-01-23 06:00:44 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2016-01-23 06:00:44 +0000 |
commit | 6e51070dda9b9f12a867ad899f56aa375c223f11 (patch) | |
tree | 3778ac6f3a8637aadf7cb30b6c7dd28819cde2b1 /llvm/lib/Transforms/IPO/PruneEH.cpp | |
parent | 45cc9bb581285a1467c42a2c2b0bb86961d5d65e (diff) | |
download | bcm5719-llvm-6e51070dda9b9f12a867ad899f56aa375c223f11.tar.gz bcm5719-llvm-6e51070dda9b9f12a867ad899f56aa375c223f11.zip |
[PruneEH] Don't try to insert a terminator after another terminator
LLVM's BasicBlock has a single terminator, it is not valid to have two.
llvm-svn: 258616
Diffstat (limited to 'llvm/lib/Transforms/IPO/PruneEH.cpp')
-rw-r--r-- | llvm/lib/Transforms/IPO/PruneEH.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/IPO/PruneEH.cpp b/llvm/lib/Transforms/IPO/PruneEH.cpp index c2f55d896ba..22a95fa03f7 100644 --- a/llvm/lib/Transforms/IPO/PruneEH.cpp +++ b/llvm/lib/Transforms/IPO/PruneEH.cpp @@ -252,7 +252,8 @@ void PruneEH::DeleteBasicBlock(BasicBlock *BB) { } if (TokenInst) { - changeToUnreachable(TokenInst->getNextNode(), /*UseLLVMTrap=*/false); + if (!isa<TerminatorInst>(TokenInst)) + changeToUnreachable(TokenInst->getNextNode(), /*UseLLVMTrap=*/false); } else { // Get the list of successors of this block. std::vector<BasicBlock *> Succs(succ_begin(BB), succ_end(BB)); |