llvm-6502/lib/CodeGen/AsmPrinter
Manman Ren bc66071baa Debug Info: Use identifier to reference DIType in base type field of
ptr_to_member.

We introduce a new class DITypeRef that represents a reference to a DIType.
It wraps around a Value*, which can be either an identifier in MDString
or an actual MDNode. The class has a helper function "resolve" that
finds the actual MDNode for a given DITypeRef.

We specialize getFieldAs to return a field that is a reference to a
DIType. To correctly access the base type field of ptr_to_member,
getClassType now calls getFieldAs<DITypeRef> to return a DITypeRef.

Also add a typedef for DITypeIdentifierMap and a helper
generateDITypeIdentifierMap in DebugInfo.h. In DwarfDebug.cpp, we keep
a DITypeIdentifierMap and call generateDITypeIdentifierMap to actually
populate the map.

Verifier is updated accordingly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190081 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-05 18:48:31 +00:00
..
ARMException.cpp Make helpers static. Add missing include so LLVMInitializeObjCARCOpts gets C linkage. 2013-02-15 12:30:38 +00:00
AsmPrinter.cpp AsmPrinter: Get rid of llvm$workaround$fake$stub$ 2013-08-25 09:18:19 +00:00
AsmPrinterDwarf.cpp DebugInfo: PR14404: Avoid truncating 64 bit values into 32 bits for ULEB128/SLEB128 generation 2013-06-23 18:31:11 +00:00
AsmPrinterInlineAsm.cpp 80-column and tab character fixes. 2013-06-24 23:20:02 +00:00
CMakeLists.txt Update the CMake build files. 2013-08-08 23:51:31 +00:00
DIE.cpp For COFF only: dwarf debug info output a label reference as a section relative item only when it's one of dw_from strp, sec_offset, ref_addr or op_call_ref instead of going by size. 2013-08-13 17:45:53 +00:00
DIE.h Be more rigorous about the sizes of forms and attributes. 2013-08-08 01:41:00 +00:00
DIEHash.cpp Add a hashing routine that handles hashing types. Add a test for 2013-09-03 21:57:57 +00:00
DIEHash.h Add a hashing routine that handles hashing types. Add a test for 2013-09-03 21:57:57 +00:00
DwarfAccelTable.cpp Move accelerator table defines and constants to Dwarf.h since 2013-09-05 18:20:16 +00:00
DwarfAccelTable.h Move accelerator table defines and constants to Dwarf.h since 2013-09-05 18:20:16 +00:00
DwarfCFIException.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
DwarfCompileUnit.cpp Debug Info: Use identifier to reference DIType in base type field of 2013-09-05 18:48:31 +00:00
DwarfCompileUnit.h Formatting. 2013-08-26 23:58:22 +00:00
DwarfDebug.cpp Debug Info: Use identifier to reference DIType in base type field of 2013-09-05 18:48:31 +00:00
DwarfDebug.h Debug Info: Use identifier to reference DIType in base type field of 2013-09-05 18:48:31 +00:00
DwarfException.cpp Remove unneeded "TargetMachine.h" #includes. 2013-02-09 20:54:05 +00:00
DwarfException.h Remove the MachineMove class. 2013-05-13 01:16:13 +00:00
ErlangGCPrinter.cpp Add a GC plugin for Erlang 2013-03-25 13:47:46 +00:00
LLVMBuild.txt LLVMBuild: Remove trailing newline, which irked me. 2011-12-12 19:48:00 +00:00
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