[WinEH] Make llvm.x86.seh.recoverfp work on x64
authorReid Kleckner <rnk@google.com>
Tue, 15 Dec 2015 23:40:58 +0000 (23:40 +0000)
committerReid Kleckner <rnk@google.com>
Tue, 15 Dec 2015 23:40:58 +0000 (23:40 +0000)
commitd0b2625563b73c10a5163db3337e75315e26ca8e
tree603dea9c7b87e32284bd8f1ab31916a1fdaea142
parentf028db19d00d5e310a929eb9e64b740f4e70bae9
[WinEH] Make llvm.x86.seh.recoverfp work on x64

It adjusts from RSP-after-prologue to RBP, which is what SEH filters
need to do before they can use llvm.localrecover.

Fixes SEH filter captures, which were broken in r250088.

Issue reported by Alex Crichton.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@255707 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/WinEHFuncInfo.h
lib/CodeGen/AsmPrinter/WinException.cpp
lib/Target/X86/X86FrameLowering.cpp
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/catchret-empty-fallthrough.ll
test/CodeGen/X86/seh-catch-all.ll
test/CodeGen/X86/seh-catchpad.ll
test/CodeGen/X86/seh-except-finally.ll
test/CodeGen/X86/seh-finally.ll
test/CodeGen/X86/seh-safe-div.ll