diff options
author | Reid Kleckner <rnk@google.com> | 2015-09-17 20:43:47 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2015-09-17 20:43:47 +0000 |
commit | 5b8a46e771254fab0a50577ad47f0777d3777646 (patch) | |
tree | bd7ccd0adb7ff58057783a757c9674534479c685 /llvm/lib/Target/X86/X86WinEHState.cpp | |
parent | a4d43337d48b0fd736cb323b84bb36685f5a55f8 (diff) | |
download | llvm-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.cpp | 9 |
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()); } } |