summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/IPO/PruneEH.cpp
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2016-01-23 06:00:44 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2016-01-23 06:00:44 +0000
commit6e51070dda9b9f12a867ad899f56aa375c223f11 (patch)
tree3778ac6f3a8637aadf7cb30b6c7dd28819cde2b1 /llvm/lib/Transforms/IPO/PruneEH.cpp
parent45cc9bb581285a1467c42a2c2b0bb86961d5d65e (diff)
downloadbcm5719-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.cpp3
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));
OpenPOWER on IntegriCloud