From aa5abe88d6aa445afa593476a665e3ab14b3524c Mon Sep 17 00:00:00 2001 From: Bill Wendling Date: Mon, 6 Feb 2012 21:16:41 +0000 Subject: [unwind removal] We no longer have 'unwind' instructions being generated, so remove the code that handles them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149901 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Transforms/Utils/UnifyFunctionExitNodes.cpp | 20 -------------------- 1 file changed, 20 deletions(-) (limited to 'lib/Transforms/Utils/UnifyFunctionExitNodes.cpp') diff --git a/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp b/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp index 46d4adaaa1..b1cad06dff 100644 --- a/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp +++ b/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp @@ -50,33 +50,13 @@ bool UnifyFunctionExitNodes::runOnFunction(Function &F) { // return. // std::vector ReturningBlocks; - std::vector UnwindingBlocks; std::vector UnreachableBlocks; for(Function::iterator I = F.begin(), E = F.end(); I != E; ++I) if (isa(I->getTerminator())) ReturningBlocks.push_back(I); - else if (isa(I->getTerminator())) - UnwindingBlocks.push_back(I); else if (isa(I->getTerminator())) UnreachableBlocks.push_back(I); - // Handle unwinding blocks first. - if (UnwindingBlocks.empty()) { - UnwindBlock = 0; - } else if (UnwindingBlocks.size() == 1) { - UnwindBlock = UnwindingBlocks.front(); - } else { - UnwindBlock = BasicBlock::Create(F.getContext(), "UnifiedUnwindBlock", &F); - new UnwindInst(F.getContext(), UnwindBlock); - - for (std::vector::iterator I = UnwindingBlocks.begin(), - E = UnwindingBlocks.end(); I != E; ++I) { - BasicBlock *BB = *I; - BB->getInstList().pop_back(); // Remove the unwind insn - BranchInst::Create(UnwindBlock, BB); - } - } - // Then unreachable blocks. if (UnreachableBlocks.empty()) { UnreachableBlock = 0; -- cgit v1.2.3-18-g5258