llvm/test/Linker
Manman Ren b8b70e10a2 Debug Info: remove duplication of DIEs when a DIE can be shared across CUs.
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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193779 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-31 17:54:35 +00:00
..
Inputs Debug Info: remove duplication of DIEs when a DIE can be shared across CUs. 2013-10-31 17:54:35 +00:00
2002-07-17-GlobalFail.ll
2002-07-17-LinkTest2.ll
2002-08-20-ConstantExpr.ll
2003-01-30-LinkerRename.ll Rewrite test/Linker tests to use FileCheck instead of grep. 2013-04-09 16:51:13 +00:00
2003-01-30-LinkerTypeRename.ll Rewrite test/Linker tests to use FileCheck instead of grep. 2013-04-09 16:51:13 +00:00
2003-04-23-LinkOnceLost.ll Rewrite test/Linker tests to use FileCheck instead of grep. 2013-04-09 16:51:13 +00:00
2003-04-26-NullPtrLinkProblem.ll
2003-05-15-TypeProblem.ll
2003-05-31-LinkerRename.ll Rewrite test/Linker tests to use FileCheck instead of grep. 2013-04-09 16:51:13 +00:00
2003-06-02-TypeResolveProblem2.ll
2003-06-02-TypeResolveProblem.ll
2003-08-20-OpaqueTypeResolve.ll
2003-08-23-GlobalVarLinking.ll Rewrite test/Linker tests to use FileCheck instead of grep. 2013-04-09 16:51:13 +00:00
2003-08-23-RecursiveOpaqueTypeResolve.ll
2003-08-24-InheritPtrSize.ll Rewrite test/Linker tests to use FileCheck instead of grep. 2013-04-09 16:51:13 +00:00
2003-08-28-TypeResolvesGlobal2.ll
2003-08-28-TypeResolvesGlobal3.ll
2003-08-28-TypeResolvesGlobal.ll
2003-10-27-LinkOncePromote.ll
2003-11-18-TypeResolution.ll
2004-02-17-WeakStrongLinkage.ll
2004-05-07-TypeResolution1.ll
2004-05-07-TypeResolution2.ll
2004-12-03-DisagreeingType.ll Rewrite test/Linker tests to use FileCheck instead of grep. 2013-04-09 16:51:13 +00:00
2005-02-12-ConstantGlobals-2.ll Rewrite test/Linker tests to use FileCheck instead of grep. 2013-04-09 16:51:13 +00:00
2005-02-12-ConstantGlobals.ll Rewrite test/Linker tests to use FileCheck instead of grep. 2013-04-09 16:51:13 +00:00
2005-12-06-AppendingZeroLengthArrays.ll Rewrite test/Linker tests to use FileCheck instead of grep. 2013-04-09 16:51:13 +00:00
2006-01-19-ConstantPacked.ll
2006-06-15-GlobalVarAlignment.ll Rewrite test/Linker tests to use FileCheck instead of grep. 2013-04-09 16:51:13 +00:00
2008-03-05-AliasReference2.ll
2008-03-05-AliasReference.ll
2008-03-07-DroppedSection_a.ll Rewrite test/Linker tests to use FileCheck instead of grep. 2013-04-09 16:51:13 +00:00
2008-03-07-DroppedSection_b.ll Rewrite test/Linker tests to use FileCheck instead of grep. 2013-04-09 16:51:13 +00:00
2008-06-13-LinkOnceRedefinition.ll
2008-06-26-AddressSpace.ll Rewrite test/Linker tests to use FileCheck instead of grep. 2013-04-09 16:51:13 +00:00
2008-07-06-AliasFnDecl2.ll
2008-07-06-AliasFnDecl.ll
2008-07-06-AliasWeakDest2.ll
2008-07-06-AliasWeakDest.ll
2009-09-03-mdnode2.ll
2009-09-03-mdnode.ll
2011-08-04-DebugLoc2.ll Debug Info Testing: updated to use NULL instead of "i32 0" in a few fields. 2013-09-06 21:03:58 +00:00
2011-08-04-DebugLoc.ll Debug Info Testing: updated to use NULL instead of "i32 0" in a few fields. 2013-09-06 21:03:58 +00:00
2011-08-04-Metadata2.ll Debug Info Testing: updated to use NULL instead of "i32 0" in a few fields. 2013-09-06 21:03:58 +00:00
2011-08-04-Metadata.ll Debug Info Testing: updated to use NULL instead of "i32 0" in a few fields. 2013-09-06 21:03:58 +00:00
2011-08-18-unique-class-type2.ll Debug Info Testing: updated to use NULL instead of "i32 0" in a few fields. 2013-09-06 21:03:58 +00:00
2011-08-18-unique-class-type.ll Debug Info Testing: updated to use NULL instead of "i32 0" in a few fields. 2013-09-06 21:03:58 +00:00
2011-08-18-unique-debug-type2.ll Debug Info Testing: updated to use NULL instead of "i32 0" in a few fields. 2013-09-06 21:03:58 +00:00
2011-08-18-unique-debug-type.ll Debug Info Testing: updated to use NULL instead of "i32 0" in a few fields. 2013-09-06 21:03:58 +00:00
2011-08-22-ResolveAlias2.ll
2011-08-22-ResolveAlias.ll
AppendingLinkage2.ll Rewrite test/Linker tests to use FileCheck instead of grep. 2013-04-09 16:51:13 +00:00
AppendingLinkage.ll Rewrite test/Linker tests to use FileCheck instead of grep. 2013-04-09 16:51:13 +00:00
available_externally_a.ll
available_externally_b.ll
basiclink.ll
ConstantGlobals1.ll Rewrite test/Linker tests to use FileCheck instead of grep. 2013-04-09 16:51:13 +00:00
ConstantGlobals2.ll Rewrite test/Linker tests to use FileCheck instead of grep. 2013-04-09 16:51:13 +00:00
ConstantGlobals3.ll Rewrite test/Linker tests to use FileCheck instead of grep. 2013-04-09 16:51:13 +00:00
DbgDeclare2.ll Debug Info Testing: update context from empty string to null. 2013-09-08 03:11:54 +00:00
DbgDeclare.ll Debug Info Testing: update context from empty string to null. 2013-09-08 03:11:54 +00:00
inlineasm.ll
link-global-to-func.ll Rewrite test/Linker tests to use FileCheck instead of grep. 2013-04-09 16:51:13 +00:00
link-messages.ll
link-type-names.ll
linkage.ll
linkmdnode2.ll
linkmdnode.ll
linknamedmdnode2.ll
linknamedmdnode.ll Rewrite test/Linker tests to use FileCheck instead of grep. 2013-04-09 16:51:13 +00:00
LinkOnce.ll
metadata-a.ll
metadata-b.ll
module-flags-1-a.ll
module-flags-1-b.ll
module-flags-2-a.ll
module-flags-2-b.ll
module-flags-3-a.ll
module-flags-3-b.ll
module-flags-4-a.ll
module-flags-4-b.ll
module-flags-5-a.ll
module-flags-5-b.ll
module-flags-6-a.ll
module-flags-6-b.ll
module-flags-7-a.ll
module-flags-7-b.ll
module-flags-8-a.ll
module-flags-8-b.ll
multiple-merged-structs.ll
partial-type-refinement-link.ll
partial-type-refinement.ll
PR8300.ll
prefixdata.ll Implement function prefix data as an IR feature. 2013-09-16 01:08:15 +00:00
redefinition.ll Rewrite test/Linker tests to use FileCheck instead of grep. 2013-04-09 16:51:13 +00:00
testlink1.ll
testlink2.ll
transitive-lazy-link.ll [tests] Use multiple statements instead of 'echo -e', which is not part of BSD echo. 2013-08-29 03:02:30 +00:00
type-unique-inheritance.ll Debug Info: In DIBuilder, the context fields of a TAG_inheritance and a 2013-09-09 23:07:58 +00:00
type-unique-simple2.ll Debug Info: remove duplication of DIEs when a DIE can be shared across CUs. 2013-10-31 17:54:35 +00:00
type-unique-simple-a.ll Debug Info: remove duplication of DIEs when a DIE can be shared across CUs. 2013-10-31 17:54:35 +00:00
type-unique-simple-b.ll Remove triple from type unique testing cases. 2013-10-01 20:27:56 +00:00
unnamed-addr1-a.ll Fix linking of unnamed_addr in functions. 2013-09-04 14:59:03 +00:00
unnamed-addr1-b.ll Fix linking of unnamed_addr in functions. 2013-09-04 14:59:03 +00:00
unnamed-addr-err-a.ll Error on linking appending globals with different unnamed_addr. 2013-09-04 15:33:34 +00:00
unnamed-addr-err-b.ll Error on linking appending globals with different unnamed_addr. 2013-09-04 15:33:34 +00:00
visibility1.ll
visibility2.ll
weakextern.ll Rewrite test/Linker tests to use FileCheck instead of grep. 2013-04-09 16:51:13 +00:00