aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/X86/X86WinEHState.cpp
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2015-09-17 20:43:47 +0000
committerReid Kleckner <rnk@google.com>2015-09-17 20:43:47 +0000
commit5b8a46e771254fab0a50577ad47f0777d3777646 (patch)
treebd7ccd0adb7ff58057783a757c9674534479c685 /llvm/lib/Target/X86/X86WinEHState.cpp
parenta4d43337d48b0fd736cb323b84bb36685f5a55f8 (diff)
downloadllvm-5b8a46e771254fab0a50577ad47f0777d3777646.zip
llvm-5b8a46e771254fab0a50577ad47f0777d3777646.tar.gz
llvm-5b8a46e771254fab0a50577ad47f0777d3777646.tar.bz2
[WinEH] Make funclet return instrs pseudo instrs
This makes catchret look more like a branch, and less like a weird use of BlockAddress. It also lets us get away from llvm.x86.seh.restoreframe, which relies on the old parentfpoffset label arithmetic. llvm-svn: 247936
Diffstat (limited to 'llvm/lib/Target/X86/X86WinEHState.cpp')
-rw-r--r--llvm/lib/Target/X86/X86WinEHState.cpp9
1 files changed, 0 insertions, 9 deletions
diff --git a/llvm/lib/Target/X86/X86WinEHState.cpp b/llvm/lib/Target/X86/X86WinEHState.cpp
index d148be6..3a73338 100644
--- a/llvm/lib/Target/X86/X86WinEHState.cpp
+++ b/llvm/lib/Target/X86/X86WinEHState.cpp
@@ -500,15 +500,6 @@ void WinEHStatePass::addStateStoresToFunclet(Value *ParentRegNode,
insertStateNumberStore(ParentRegNode, II, State);
}
}
-
- // Insert calls to llvm.x86.seh.restoreframe at catchret destinations. In
- // SEH, insert them before the catchret.
- // FIXME: We should probably do this as part of catchret lowering in the
- // DAG.
- if (auto *CR = dyn_cast<CatchReturnInst>(BB.getTerminator()))
- insertRestoreFrame(Personality == EHPersonality::MSVC_X86SEH
- ? CR->getParent()
- : CR->getSuccessor());
}
}