From 6e51070dda9b9f12a867ad899f56aa375c223f11 Mon Sep 17 00:00:00 2001 From: David Majnemer Date: Sat, 23 Jan 2016 06:00:44 +0000 Subject: [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 --- llvm/lib/Transforms/IPO/PruneEH.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'llvm/lib/Transforms/IPO/PruneEH.cpp') 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(TokenInst)) + changeToUnreachable(TokenInst->getNextNode(), /*UseLLVMTrap=*/false); } else { // Get the list of successors of this block. std::vector Succs(succ_begin(BB), succ_end(BB)); -- cgit v1.2.3