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 Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2003-05-15-TypeProblem.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
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 Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2003-06-02-TypeResolveProblem.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2003-08-20-OpaqueTypeResolve.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
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 Remove the dependent libraries feature. 2012-11-27 09:55:56 +00:00
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 Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
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 Switch a bunch of Linker tests from using elaborate echo productions to 2012-07-02 10:18:06 +00:00
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 Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
link-type-names.ll Add back removed code. It still causes LLVM to miscompile. But not having it breaks other things. 2012-02-27 23:48:30 +00:00
linkage.ll Switch a bunch of Linker tests from using elaborate echo productions to 2012-07-02 10:18:06 +00:00
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 [Linker] Change module flag linking to be more extensible. 2013-01-16 18:39:23 +00:00
module-flags-1-b.ll [WIP] Initial code for module flags. 2012-02-11 11:38:06 +00:00
module-flags-2-a.ll [WIP] Initial code for module flags. 2012-02-11 11:38:06 +00:00
module-flags-2-b.ll [WIP] Initial code for module flags. 2012-02-11 11:38:06 +00:00
module-flags-3-a.ll [Linker] Change module flag linking to be more extensible. 2013-01-16 18:39:23 +00:00
module-flags-3-b.ll [WIP] Initial code for module flags. 2012-02-11 11:38:06 +00:00
module-flags-4-a.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
module-flags-4-b.ll [WIP] Initial code for module flags. 2012-02-11 11:38:06 +00:00
module-flags-5-a.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
module-flags-5-b.ll [WIP] Initial code for module flags. 2012-02-11 11:38:06 +00:00
module-flags-6-a.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
module-flags-6-b.ll [WIP] Initial code for module flags. 2012-02-11 11:38:06 +00:00
module-flags-7-a.ll [Linker] Change module flag linking to be more extensible. 2013-01-16 18:39:23 +00:00
module-flags-7-b.ll [Linker] Change module flag linking to be more extensible. 2013-01-16 18:39:23 +00:00
module-flags-8-a.ll [IR] Add 'Append' and 'AppendUnique' module flag behaviors. 2013-01-16 21:38:56 +00:00
module-flags-8-b.ll [IR] Add 'Append' and 'AppendUnique' module flag behaviors. 2013-01-16 21:38:56 +00:00
multiple-merged-structs.ll Switch a bunch of Linker tests from using elaborate echo productions to 2012-07-02 10:18:06 +00:00
partial-type-refinement-link.ll
partial-type-refinement.ll
PR8300.ll Switch a bunch of Linker tests from using elaborate echo productions to 2012-07-02 10:18:06 +00:00
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 Fix a copy/paste error in the IR Linker, casting an ArrayType instead of a VectorType. 2013-01-10 10:49:36 +00:00
testlink2.ll Fix a copy/paste error in the IR Linker, casting an ArrayType instead of a VectorType. 2013-01-10 10:49:36 +00:00
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