1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-26 14:33:02 +02:00
llvm-mirror/lib/CodeGen/AsmPrinter
Manman Ren 4c36c44e3f Debug Info: support for DW_FORM_ref_addr.
To support ref_addr, we calculate the section offset of a DIE (i.e. offset
of a DIE from beginning of the debug info section). The Offset field in DIE
is currently CU-relative. To calculate the section offset, we add a
DebugInfoOffset field in CompileUnit to store the offset of a CU from beginning
of the debug info section. We set the value in DwarfUnits::computeSizeAndOffset
for each CompileUnit.

A helper function DIE::getCompileUnit is added to return the CU DIE that
the input DIE belongs to. We also add a map CUDieMap in DwarfDebug to help
finding the CU for a given CU DIE.

For a cross-referenced DIE, we first find the CU DIE it belongs to with
getCompileUnit, then we use CUDieMap to get the corresponding CU for the CU DIE.
Adding the section offset of the CU with the CU-relative offset of a DIE gives
us the seciton offset of the DIE.

We correctly emit ref_addr with relocation using EmitLabelPlusOffset when
doesDwarfUseRelocationsAcrossSections is true.

This commit handles the emission of DW_FORM_ref_addr when we have an attribute
with FORM_ref_addr. A follow-on patch will start using ref_addr when adding a
DIEEntry. This commit will be tested and verified in the follow-on patch.

Reviewed off-list by Eric, Thanks.

llvm-svn: 193658
2013-10-29 22:57:10 +00:00
..
ARMException.cpp Add a helper getSymbol to AsmPrinter. 2013-10-29 17:07:16 +00:00
AsmPrinter.cpp Move getSymbol to TargetLoweringObjectFile. 2013-10-29 17:28:26 +00:00
AsmPrinterDwarf.cpp [Sparc] Implements exception handling in SPARC with DwarfCFI. 2013-09-26 15:11:00 +00:00
AsmPrinterInlineAsm.cpp Add an instruction deprecation feature to TableGen. 2013-09-12 10:28:05 +00:00
CMakeLists.txt Update the CMake build files. 2013-08-08 23:51:31 +00:00
DIE.cpp Debug Info: support for DW_FORM_ref_addr. 2013-10-29 22:57:10 +00:00
DIE.h Debug Info: support for DW_FORM_ref_addr. 2013-10-29 22:57:10 +00:00
DIEHash.cpp DIEHash: Summary hashing of member functions 2013-10-25 20:04:25 +00:00
DIEHash.h DIEHash: Summary hashing of nested types 2013-10-25 18:38:43 +00:00
DwarfAccelTable.cpp Move accelerator table defines and constants to Dwarf.h since 2013-09-05 18:20:16 +00:00
DwarfAccelTable.h Revert "Give internal classes hidden visibility." 2013-09-11 18:05:11 +00:00
DwarfCFIException.cpp Add a helper getSymbol to AsmPrinter. 2013-10-29 17:07:16 +00:00
DwarfCompileUnit.cpp Debug Info: support for DW_FORM_ref_addr. 2013-10-29 22:57:10 +00:00
DwarfCompileUnit.h Debug Info: support for DW_FORM_ref_addr. 2013-10-29 22:57:10 +00:00
DwarfDebug.cpp Debug Info: support for DW_FORM_ref_addr. 2013-10-29 22:57:10 +00:00
DwarfDebug.h Debug Info: support for DW_FORM_ref_addr. 2013-10-29 22:57:10 +00:00
DwarfException.cpp Remove unneeded "TargetMachine.h" #includes. 2013-02-09 20:54:05 +00:00
DwarfException.h Add a MCTargetStreamer interface. 2013-10-08 13:08:17 +00:00
ErlangGCPrinter.cpp Add a GC plugin for Erlang 2013-03-25 13:47:46 +00:00
LLVMBuild.txt
Makefile
OcamlGCPrinter.cpp Last in the series of removing unnecessary '0' arguments for 2013-01-09 03:52:05 +00:00
Win64Exception.cpp Revert: Emit personality function and Dwarf EH data for Win64 SEH. 2013-07-08 04:43:23 +00:00