llvm-6502/lib/CodeGen/AsmPrinter
Reid Kleckner 5b8e73ef81 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
2014-06-20 20:35:47 +00:00
..
AddressPool.cpp DWARF Type Units: Avoid emitting type units under fission if the type requires an address. 2014-04-26 17:27:38 +00:00
AddressPool.h AddressPool::HasBeenUsed: Add comment explaining the use-case for this flag. 2014-04-28 22:52:50 +00:00
ARMException.cpp CodeGen: refactor DwarfException 2014-06-11 01:19:03 +00:00
AsmPrinter.cpp Remove unnecessary include. 2014-06-19 06:22:05 +00:00
AsmPrinterDwarf.cpp Clarify the doxygen comment for AsmPrinter::EmitDwarfRegOpPiece and add 2014-04-27 18:50:45 +00:00
AsmPrinterHandler.h
AsmPrinterInlineAsm.cpp [C++] Use 'nullptr'. 2014-04-24 06:44:33 +00:00
ByteStreamer.h [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-08 06:31:39 +00:00
CMakeLists.txt CodeGen: refactor DwarfException 2014-06-11 01:19:03 +00:00
DbgValueHistoryCalculator.cpp Generate better location ranges for some register-described variables. 2014-06-09 21:53:47 +00:00
DbgValueHistoryCalculator.h Change representation of instruction ranges where variable is accessible. 2014-05-27 23:09:50 +00:00
DebugLocEntry.h [C++] Use 'nullptr'. 2014-04-28 04:05:08 +00:00
DebugLocList.h DebugInfo: Introduce DebugLocList to encapsulate a list of DebugLocEntries and an MC Label to refer to them 2014-04-02 01:43:18 +00:00
DIE.cpp DIEEntry: Refer to the specified DIE via reference rather than pointer. 2014-04-25 19:33:43 +00:00
DIE.h DIE: Document some learnings about why the world isn't perfect. 2014-04-28 22:41:39 +00:00
DIEHash.cpp DIEEntry: Refer to the specified DIE via reference rather than pointer. 2014-04-25 19:33:43 +00:00
DIEHash.h [C++] Use 'nullptr'. 2014-04-24 06:44:33 +00:00
DwarfAccelTable.cpp DwarfAccelTable: Store the string symbol in the accelerator table to avoid duplicate lookup. 2014-04-25 22:21:35 +00:00
DwarfAccelTable.h Remove redundant explicit default initialization of non-trivially constructed member. 2014-04-27 14:47:23 +00:00
DwarfCFIException.cpp CodeGen: refactor DwarfException 2014-06-11 01:19:03 +00:00
DwarfDebug.cpp DebugInfo: Fission: Ensure the address pool entries for location lists are emitted. 2014-06-19 17:59:14 +00:00
DwarfDebug.h DebugInfo: Remove some extra handling of abstract variables and instead rely solely on the delayed handling introduced in r210946 2014-06-13 23:52:55 +00:00
DwarfException.h CodeGen: refactor DwarfException 2014-06-11 01:19:03 +00:00
DwarfFile.cpp Encapsulate the DWARF string pool in a separate type. 2014-04-25 21:34:35 +00:00
DwarfFile.h Encapsulate the DWARF string pool in a separate type. 2014-04-25 21:34:35 +00:00
DwarfStringPool.cpp Make helper functions static. 2014-04-27 14:54:59 +00:00
DwarfStringPool.h Encapsulate the DWARF string pool in a separate type. 2014-04-25 21:34:35 +00:00
DwarfUnit.cpp DebugInfo: Following up to r209677, refactor local variable emission to delay the choice between emitting the definition attributes or using DW_AT_abstract_definition 2014-06-13 22:18:23 +00:00
DwarfUnit.h DebugInfo: Following up to r209677, refactor local variable emission to delay the choice between emitting the definition attributes or using DW_AT_abstract_definition 2014-06-13 22:18:23 +00:00
EHStreamer.cpp CodeGen: refactor DwarfException 2014-06-11 01:19:03 +00:00
EHStreamer.h CodeGen: refactor DwarfException 2014-06-11 01:19:03 +00:00
ErlangGCPrinter.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-08 06:31:39 +00:00
LLVMBuild.txt
Makefile
OcamlGCPrinter.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-08 06:31:39 +00:00
Win64Exception.cpp Generate native unwind info on Win64 2014-06-20 20:35:47 +00:00
WinCodeViewLineTables.cpp The count() function for STL datatypes returns unsigned, even where it's 2014-06-20 10:26:56 +00:00
WinCodeViewLineTables.h [C++] Use 'nullptr'. 2014-04-28 04:05:08 +00:00