mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-24 23:28:41 +00:00
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
This commit is contained in:
@@ -484,6 +484,9 @@ public:
|
||||
///
|
||||
int CreateFixedObject(uint64_t Size, int64_t SPOffset, bool Immutable);
|
||||
|
||||
/// CreateFixedSpillStackObject - Create a spill slot at a fixed location
|
||||
/// on the stack. Returns an index with a negative value.
|
||||
int CreateFixedSpillStackObject(uint64_t Size, int64_t SPOffset);
|
||||
|
||||
/// isFixedObjectIndex - Returns true if the specified index corresponds to a
|
||||
/// fixed stack object.
|
||||
|
Reference in New Issue
Block a user