diff options
author | NAKAMURA Takumi <geek4civic@gmail.com> | 2014-06-25 12:41:52 +0000 |
---|---|---|
committer | NAKAMURA Takumi <geek4civic@gmail.com> | 2014-06-25 12:41:52 +0000 |
commit | 1db5995d1419a5476f8f3974bdd1af20605885bc (patch) | |
tree | 3d60e8f0750bedc9a0d86c6382600b963e330ad6 /llvm/test/CodeGen/X86/gcc_except_table.ll | |
parent | 3cf5c9de141a0456b85bbfaf3ab055c22256c5fc (diff) | |
download | bcm5719-llvm-1db5995d1419a5476f8f3974bdd1af20605885bc.tar.gz bcm5719-llvm-1db5995d1419a5476f8f3974bdd1af20605885bc.zip |
Re-apply r211399, "Generate native unwind info on Win64" with a fix to ignore SEH pseudo ops in X86 JIT emitter.
--
This patch enables LLVM to emit Win64-native unwind info rather than
DWARF CFI. It handles all corner cases (I hope), including stack
realignment.
Because the unwind info is not flexible enough to describe stack frames
with a gap of unknown size in the middle, such as the one caused by
stack realignment, I modified register spilling code to place all spills
into the fixed frame slots, so that they can be accessed relative to the
frame pointer.
Patch by Vadim Chugunov!
Reviewed By: rnk
Differential Revision: http://reviews.llvm.org/D4081
llvm-svn: 211691
Diffstat (limited to 'llvm/test/CodeGen/X86/gcc_except_table.ll')
-rw-r--r-- | llvm/test/CodeGen/X86/gcc_except_table.ll | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/llvm/test/CodeGen/X86/gcc_except_table.ll b/llvm/test/CodeGen/X86/gcc_except_table.ll index 8c328ec58f9..a732eb1efbd 100644 --- a/llvm/test/CodeGen/X86/gcc_except_table.ll +++ b/llvm/test/CodeGen/X86/gcc_except_table.ll @@ -13,14 +13,14 @@ define i32 @main() uwtable optsize ssp { ; APPLE: GCC_except_table0: ; APPLE: Lexception0: -; MINGW64: .cfi_startproc -; MINGW64: .cfi_personality 0, __gxx_personality_v0 -; MINGW64: .cfi_lsda 0, .Lexception0 -; MINGW64: .cfi_def_cfa_offset 16 +; MINGW64: .seh_proc +; MINGW64: .seh_handler __gxx_personality_v0 +; MINGW64: .seh_setframe 5, 0 ; MINGW64: callq _Unwind_Resume -; MINGW64: .cfi_endproc +; MINGW64: .seh_handlerdata ; MINGW64: GCC_except_table0: ; MINGW64: Lexception0: +; MINGW64: .seh_endproc ; MINGW32: .cfi_startproc ; MINGW32: .cfi_personality 0, ___gxx_personality_v0 |