Skip to content
  • Manman Ren's avatar
    Debug Info: Use identifier to reference DIType in base type field of · 60352032
    Manman Ren authored
    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.
    
    llvm-svn: 190081
    60352032
Loading