diff options
author | David Majnemer <david.majnemer@gmail.com> | 2015-12-14 18:34:23 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2015-12-14 18:34:23 +0000 |
commit | bbfc7219ef121d345784b0c080a268beb051c736 (patch) | |
tree | df2b7b2e6f57615a58d0d86aef7fa03081649176 /llvm/lib/Transforms/Utils/Local.cpp | |
parent | feeefb214dfa398df4cec92b1e9f3e3219d3944f (diff) | |
download | bcm5719-llvm-bbfc7219ef121d345784b0c080a268beb051c736.tar.gz bcm5719-llvm-bbfc7219ef121d345784b0c080a268beb051c736.zip |
[IR] Remove terminatepad
It turns out that terminatepad gives little benefit over a cleanuppad
which calls the termination function. This is not sufficient to
implement fully generic filters but MSVC doesn't support them which
makes terminatepad a little over-designed.
Depends on D15478.
Differential Revision: http://reviews.llvm.org/D15479
llvm-svn: 255522
Diffstat (limited to 'llvm/lib/Transforms/Utils/Local.cpp')
-rw-r--r-- | llvm/lib/Transforms/Utils/Local.cpp | 7 |
1 files changed, 0 insertions, 7 deletions
diff --git a/llvm/lib/Transforms/Utils/Local.cpp b/llvm/lib/Transforms/Utils/Local.cpp index cb17b603ae5..24f88179c90 100644 --- a/llvm/lib/Transforms/Utils/Local.cpp +++ b/llvm/lib/Transforms/Utils/Local.cpp @@ -1338,13 +1338,6 @@ void llvm::removeUnwindEdge(BasicBlock *BB) { if (auto *CRI = dyn_cast<CleanupReturnInst>(TI)) { NewTI = CleanupReturnInst::Create(CRI->getCleanupPad(), nullptr, CRI); UnwindDest = CRI->getUnwindDest(); - } else if (auto *TPI = dyn_cast<TerminatePadInst>(TI)) { - SmallVector<Value *, 3> TerminatePadArgs; - for (Value *Operand : TPI->arg_operands()) - TerminatePadArgs.push_back(Operand); - NewTI = TerminatePadInst::Create(TPI->getParentPad(), nullptr, - TerminatePadArgs, TPI); - UnwindDest = TPI->getUnwindDest(); } else if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(TI)) { auto *NewCatchSwitch = CatchSwitchInst::Create( CatchSwitch->getParentPad(), nullptr, CatchSwitch->getNumHandlers(), |