mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-11-01 15:17:25 +00:00
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211691 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user