aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Transforms/IPO/GlobalOpt.cpp
diff options
context:
space:
mode:
authorManman Ren <manman.ren@gmail.com>2013-09-05 18:48:31 +0000
committerManman Ren <manman.ren@gmail.com>2013-09-05 18:48:31 +0000
commitbc66071baa3153ba95d673b8084383835221eef6 (patch)
treeea089a4002af6dfa75f7df34d5da3c0a36b04247 /lib/Transforms/IPO/GlobalOpt.cpp
parent79916948e1fd176a3898b596b679cc9dba3d40a8 (diff)
downloadexternal_llvm-bc66071baa3153ba95d673b8084383835221eef6.zip
external_llvm-bc66071baa3153ba95d673b8084383835221eef6.tar.gz
external_llvm-bc66071baa3153ba95d673b8084383835221eef6.tar.bz2
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
Diffstat (limited to 'lib/Transforms/IPO/GlobalOpt.cpp')
0 files changed, 0 insertions, 0 deletions