summaryrefslogtreecommitdiff
path: root/test/CodeGen/X86/gcc_except_table.ll
diff options
context:
space:
mode:
authorReid Kleckner <reid@kleckner.net>2014-06-20 20:35:47 +0000
committerReid Kleckner <reid@kleckner.net>2014-06-20 20:35:47 +0000
commit5b8e73ef81bdbc3ce4d020f66d875e22827b7626 (patch)
tree81e26866c3184143e4adec8bd26d003dc644245b /test/CodeGen/X86/gcc_except_table.ll
parent20dead8d0ce64f70e1dcf558f69b6d725ba18d9d (diff)
downloadllvm-5b8e73ef81bdbc3ce4d020f66d875e22827b7626.tar.gz
llvm-5b8e73ef81bdbc3ce4d020f66d875e22827b7626.tar.bz2
llvm-5b8e73ef81bdbc3ce4d020f66d875e22827b7626.tar.xz
Generate native unwind info on Win64
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211399 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/gcc_except_table.ll')
-rw-r--r--test/CodeGen/X86/gcc_except_table.ll10
1 files changed, 5 insertions, 5 deletions
diff --git a/test/CodeGen/X86/gcc_except_table.ll b/test/CodeGen/X86/gcc_except_table.ll
index 8c328ec58f..a732eb1efb 100644
--- a/test/CodeGen/X86/gcc_except_table.ll
+++ b/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