Skip to content
  • Manman Ren's avatar
    Debug Info: remove duplication of DIEs when a DIE can be shared across CUs. · 4dbdc902
    Manman Ren authored
    We add a map in DwarfDebug to map MDNodes that are shareable across CUs to the
    corresponding DIEs: MDTypeNodeToDieMap. These DIEs can be shared across CUs,
    that is why we keep the maps in DwarfDebug instead of CompileUnit.
    
    We make the assumption that if a DIE is not added to an owner yet, we assume
    it belongs to the current CU. Since DIEs for the type system are added to
    their owners immediately after creation, and other DIEs belong to the current
    CU, the assumption should be true.
    
    A testing case is added to show that we only create a single DIE for a type
    MDNode and we use ref_addr to refer to the type DIE.
    
    We also add a testing case to show ref_addr relocations for non-darwin
    platforms.
    
    llvm-svn: 193779
    4dbdc902
Loading