[WinEH] Make funclet return instrs pseudo instrs
authorReid Kleckner <rnk@google.com>
Thu, 17 Sep 2015 20:43:47 +0000 (20:43 +0000)
committerReid Kleckner <rnk@google.com>
Thu, 17 Sep 2015 20:43:47 +0000 (20:43 +0000)
commitf946dd04123e27edfcd15dcf0d9de68dcb79be42
tree923635a8cfe33b7567c4fc336c8871f366d9d3b5
parent9ac4d865671263781325ceeebb5716e4d4b60aea
[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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247936 91177308-0d34-0410-b5e6-96231b3b80d8
13 files changed:
include/llvm/Target/TargetSelectionDAG.td
lib/Target/X86/X86ExpandPseudo.cpp
lib/Target/X86/X86FrameLowering.cpp
lib/Target/X86/X86FrameLowering.h
lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86ISelLowering.h
lib/Target/X86/X86InstrCompiler.td
lib/Target/X86/X86InstrInfo.td
lib/Target/X86/X86MCInstLower.cpp
lib/Target/X86/X86WinEHState.cpp
test/CodeGen/X86/win-catchpad-csrs.ll
test/CodeGen/X86/win-catchpad.ll
test/CodeGen/X86/win-cleanuppad.ll