llvm-6502/lib/IR
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
..
AsmWriter.cpp
AsmWriter.h
AttributeImpl.h Add a AttributeSetImpl::dump function. 2013-08-02 22:34:30 +00:00
Attributes.cpp Add function attribute 'optnone'. 2013-08-23 11:53:55 +00:00
AutoUpgrade.cpp
BasicBlock.cpp
CMakeLists.txt
ConstantFold.cpp Respect address space sizes in isEliminableCastPair. 2013-07-30 22:27:10 +00:00
ConstantFold.h
Constants.cpp
ConstantsContext.h
Core.cpp
DataLayout.cpp Minor code simplification suggested by Duncan 2013-07-27 19:22:28 +00:00
DebugInfo.cpp Debug Info: Use identifier to reference DIType in base type field of 2013-09-05 18:48:31 +00:00
DebugLoc.cpp
DIBuilder.cpp Debug Info: Use identifier to reference DIType in base type field of 2013-09-05 18:48:31 +00:00
Dominators.cpp
Function.cpp
GCOV.cpp
Globals.cpp Introduce non-const overloads for GlobalAlias::{get,resolve}AliasedGlobal. 2013-08-19 23:13:33 +00:00
GVMaterializer.cpp
InlineAsm.cpp
Instruction.cpp
Instructions.cpp Add parentheses to silence gcc warning. 2013-07-31 04:07:28 +00:00
IntrinsicInst.cpp
IRBuilder.cpp
LeakDetector.cpp
LeaksContext.h
LLVMBuild.txt
LLVMContext.cpp
LLVMContextImpl.cpp
LLVMContextImpl.h
Makefile
Metadata.cpp
Module.cpp
Pass.cpp
PassManager.cpp
PassRegistry.cpp
PrintModulePass.cpp
SymbolTableListTraitsImpl.h
Type.cpp
TypeFinder.cpp
Use.cpp
User.cpp
Value.cpp Fix a bug where we would corrupt the offset when evaluating 2013-08-25 10:46:39 +00:00
ValueSymbolTable.cpp
ValueTypes.cpp [Mips][msa] Value types for MSA support. 2013-08-13 22:34:26 +00:00
Verifier.cpp Add function attribute 'optnone'. 2013-08-23 11:53:55 +00:00