llvm-6502/test
Manman Ren 620f436b20 Debug Info: remove duplication of DIEs when a DIE is part of the type system
and it is shared across CUs.

We add a few maps in DwarfDebug to map MDNodes for the type system to the
corresponding DIEs: MDTypeNodeToDieMap, MDSPNodeToDieMap, and
MDStaticMemberNodeToDieMap. These DIEs can be shared across CUs, that is why we
keep the maps in DwarfDebug instead of CompileUnit.

Sometimes, when we try to add an attribute to a DIE, the DIE is not yet added
to its owner yet, so we don't know whether we should use ref_addr or ref4.
We create a worklist that will be processed during finalization to add
attributes with the correct form (ref_addr or ref4).

We add addDIEEntry to DwarfDebug to be a wrapper around DIE->addValue. It checks
whether we know the correct form, if not, we update the worklist
(DIEEntryWorklist).

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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191792 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-01 19:52:23 +00:00
..
Analysis Use CHECK-LABEL 2013-09-30 23:31:55 +00:00
Assembler
Bindings/Ocaml
Bitcode AutoUpgrade: upgrade from scalar TBAA format to struct-path aware TBAA format. 2013-09-28 00:22:27 +00:00
BugPoint
CodeGen R600: add a pass that merges clauses. 2013-10-01 19:32:58 +00:00
DebugInfo Add the DW_AT_GNU_ranges_base attribute if we've emitted any ranges 2013-10-01 00:43:36 +00:00
ExecutionEngine Fix some more MCJIT PIC test XFAILs (for i386) 2013-09-20 22:12:03 +00:00
Feature Implement function prefix data as an IR feature. 2013-09-16 01:08:15 +00:00
FileCheck
Instrumentation ObjectSizeOffsetEvaluator: Don't run into infinite recursion if we have a cyclic GEP. 2013-09-29 19:39:13 +00:00
Integer
JitListener
Linker Debug Info: remove duplication of DIEs when a DIE is part of the type system 2013-10-01 19:52:23 +00:00
LTO Revert "Enable building LTO on WIN32." 2013-09-30 16:32:51 +00:00
MC [SystemZ] Add comparisons of high words and memory 2013-10-01 15:00:44 +00:00
Object
Other
TableGen
tools Resurrect lit.local.cfg to un-break hexagon buildbot. 2013-09-27 21:26:38 +00:00
Transforms Don't merge tiny functions. 2013-10-01 18:05:30 +00:00
Unit
Verifier
YAMLParser
CMakeLists.txt Fix LTO handling of module-level assembly (PR14152). 2013-09-19 22:15:52 +00:00
lit.cfg Add llvm-readobj to the list of programs to find in the freshly built 2013-09-30 21:55:01 +00:00
lit.site.cfg.in Fix LTO handling of module-level assembly (PR14152). 2013-09-19 22:15:52 +00:00
Makefile Fix LTO handling of module-level assembly (PR14152). 2013-09-19 22:15:52 +00:00
Makefile.tests
TestRunner.sh