llvm-capstone/llvm/test/Linker
Petr Hosek 7a4a5d4136 [Linker] Support weak symbols in nodeduplicate COMDAT group
When a nodeduplicate COMDAT group contains a weak symbol, choose
a non-weak symbol (or one of the weak ones) rather than reporting
an error. This should address issue PR51394.

With the current IR representation, a generic comdat nodeduplicate
semantics is not representable for LTO. In the linker, sections and
symbols are separate concepts. A dropped weak symbol does not force the
defining input section to be dropped as well (though it can be collected
by GC). In the IR, when a weak linkage symbol is dropped, its associate
section content is dropped as well.

For InstrProfiling, which is where ran into this issue in PR51394, the
deduplication semantic is a sufficient workaround.

Differential Revision: https://reviews.llvm.org/D108689
2021-09-02 14:15:28 -07:00
..
Inputs [IR] Rename comdat noduplicates to comdat nodeduplicate 2021-07-20 12:47:10 -07:00
2002-07-17-GlobalFail.ll
2002-07-17-LinkTest2.ll
2002-08-20-ConstantExpr.ll
2003-01-30-LinkerRename.ll
2003-01-30-LinkerTypeRename.ll
2003-04-23-LinkOnceLost.ll
2003-04-26-NullPtrLinkProblem.ll
2003-05-15-TypeProblem.ll
2003-05-31-LinkerRename.ll
2003-06-02-TypeResolveProblem2.ll
2003-06-02-TypeResolveProblem.ll
2003-08-20-OpaqueTypeResolve.ll
2003-08-23-GlobalVarLinking.ll
2003-08-23-RecursiveOpaqueTypeResolve.ll
2003-08-24-InheritPtrSize.ll
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
2005-02-12-ConstantGlobals-2.ll
2005-02-12-ConstantGlobals.ll
2005-12-06-AppendingZeroLengthArrays.ll
2006-01-19-ConstantPacked.ll
2008-03-05-AliasReference2.ll
2008-03-05-AliasReference.ll
2008-03-07-DroppedSection_a.ll
2008-03-07-DroppedSection_b.ll
2008-06-13-LinkOnceRedefinition.ll
2008-06-26-AddressSpace.ll
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
2011-08-04-DebugLoc.ll
2011-08-04-Metadata2.ll
2011-08-04-Metadata.ll
2011-08-18-unique-class-type2.ll
2011-08-18-unique-class-type.ll
2011-08-18-unique-debug-type2.ll
2011-08-18-unique-debug-type.ll
addrspace.ll [IRMover] Set Address Space for moved global values 2019-11-05 16:32:48 -08:00
alias-2.ll
alias-3.ll
alias-4.ll Linker: Avoid scheduling the link of a global value twice due to an alias 2021-04-28 13:22:10 -07:00
alias-threadlocal.ll [IR] Add missing GlobalAlias copying of ThreadLocalMode attribute 2020-06-16 20:15:27 -07:00
alias.ll
alignment.ll
appending-global-crash.ll [llvm-link] Fix crash when materializing appending global 2021-01-25 18:08:07 -08:00
appending-global-err1.ll [llvm-link] Fix for an assertion when linking global with appending linkage 2021-01-23 00:10:42 -08:00
appending-global-err2.ll [llvm-link] Fix for an assertion when linking global with appending linkage 2021-01-23 00:10:42 -08:00
appending-global-err3.ll [llvm-link] Fix for an assertion when linking global with appending linkage 2021-01-23 00:10:42 -08:00
appending-global-err4.ll [llvm-link] Fix for an assertion when linking global with appending linkage 2021-01-23 00:10:42 -08:00
appending-global-err5.ll [llvm-link] Fix for an assertion when linking global with appending linkage 2021-01-23 00:10:42 -08:00
appending-global-proto.ll [llvm-link] Fix for an assertion when linking global with appending linkage 2021-01-23 00:10:42 -08:00
AppendingLinkage2.ll
AppendingLinkage.ll
apple-version.ll
available_externally_a.ll
available_externally_b.ll
available_externally_over_decl.ll
basiclink.ll
broken.ll
byref-types.ll Linker: Fix linking of byref types 2020-11-17 11:02:04 -05:00
byval-types.ll Reapply: IR: add optional type to 'byval' function parameters 2019-05-30 18:48:23 +00:00
comdat2.ll
comdat4.ll [Linker] Support weak symbols in nodeduplicate COMDAT group 2021-09-02 14:15:28 -07:00
comdat5.ll
comdat6.ll
comdat7.ll
comdat8.ll IR: Teach GlobalIndirectSymbol::getBaseObject() to handle more kinds of expressions. 2019-07-24 22:23:05 +00:00
comdat9.ll
comdat10.ll
comdat11.ll
comdat12.ll
comdat13.ll
comdat14.ll Preserve the lexical order for global variables during llvm-link merge 2021-04-26 10:11:34 -07:00
comdat15.ll
comdat16.ll IR: print value numbers for unnamed function arguments 2019-08-03 14:28:34 +00:00
comdat_group.ll
comdat-rm-dst.ll
comdat.ll Preserve the lexical order for global variables during llvm-link merge 2021-04-26 10:11:34 -07:00
commandline.ll
ConstantGlobals.ll
constructor-comdat.ll
ctors2.ll Preserve the lexical order for global variables during llvm-link merge 2021-04-26 10:11:34 -07:00
ctors3.ll Preserve the lexical order for global variables during llvm-link merge 2021-04-26 10:11:34 -07:00
ctors4.ll
ctors.ll Preserve the lexical order for global variables during llvm-link merge 2021-04-26 10:11:34 -07:00
datalayout.ll Remove some unnecessary REQUIRES: shell lines 2019-09-10 00:06:52 +00:00
DbgDeclare2.ll
DbgDeclare.ll
debug-info-global-var.ll
debug-info-version-a.ll
debug-info-version-b.ll
dicompositetype-unique.ll
distinct-cycles.ll
distinct.ll
dllstorage-a.ll
dllstorage-b.ll
drop-debug.ll
DSOLocalEquivalent.ll [llvm] Change DSOLocalEquivalent type if the underlying global value type changes 2021-03-09 15:09:48 -08:00
empty-swift.ll Fix conflict value for metadata "Objective-C Garbage Collection" in the mix of swift and Objective-C bitcode 2020-03-11 13:26:06 -07:00
func-attrs-a.ll OpaquePtr: Bulk update tests to use typed sret 2020-11-20 17:58:26 -05:00
func-attrs-b.ll OpaquePtr: Bulk update tests to use typed sret 2020-11-20 17:58:26 -05:00
funcimport2.ll
funcimport_appending_global.ll
funcimport_comdat.ll
funcimport.ll
globalorder.ll Preserve the lexical order for global variables during llvm-link merge 2021-04-26 10:11:34 -07:00
ident.ll
inalloca-types.ll Reapply "OpaquePtr: Turn inalloca into a type attribute" 2021-03-29 08:55:30 -04:00
inlineasm.ll
internalize-lazy.ll
intrinsics-with-unnamed-types.ll Support intrinsic overloading on unnamed types 2021-03-19 14:34:25 +01:00
link-arm-and-thumb-module-inline-asm.ll Simplify append to module inline asm string in IRLinker::run() 2020-12-02 14:56:43 +01:00
link-arm-and-thumb.ll
link-flags.ll Preserve the lexical order for global variables during llvm-link merge 2021-04-26 10:11:34 -07:00
link-global-to-func.ll
link-type-names.ll
linkage2.ll
linkage.ll
linkmdnode2.ll
linkmdnode.ll
linknamedmdnode2.ll
linknamedmdnode.ll
LinkOnce.ll
lto-attributes.ll
mdlocation.ll
metadata-a.ll
metadata-attach.ll Preserve the lexical order for global variables during llvm-link merge 2021-04-26 10:11:34 -07:00
metadata-b.ll
metadata-function.ll
metadata-global.ll
metadata-mismatch.test
metadata-source.ll
metadata-with-global-value-operand.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
module-flags-dont-change-others.ll
module-flags-pic-1-a.ll
module-flags-pic-2-a.ll
module-max-warn.ll Linker/module-max-warn.ll: Fix test to be compatible with Windows file separators 2020-02-07 17:14:05 -08:00
multiple-merged-structs.ll
null_mapping_constant.ll
objectivec-class-property-flag-mismatch.ll
odr-lambda-1.ll
odr.ll
only-needed-compiler-used.ll
only-needed-ctors1.ll [test] Fix unused check prefixes in test/Linker/ and test/Other/ 2020-10-29 21:54:56 -07:00
only-needed-ctors2.ll [test] Fix unused check prefixes in test/Linker/ and test/Other/ 2020-10-29 21:54:56 -07:00
only-needed-debug-metadata.ll
only-needed-dtors1.ll [test] Fix unused check prefixes in test/Linker/ and test/Other/ 2020-10-29 21:54:56 -07:00
only-needed-dtors2.ll [test] Fix unused check prefixes in test/Linker/ and test/Other/ 2020-10-29 21:54:56 -07:00
only-needed-named-metadata.ll
only-needed-recurse.ll
only-needed-used.ll
opaque.ll
override-different-linkage.ll
override-with-internal-linkage-2.ll
override-with-internal-linkage.ll
override.ll
partial-type-refinement-link.ll
partial-type-refinement.ll
pr21374.ll
pr21494.ll
pr22807.ll
pr26037.ll
pr27044.ll
PR8300.ll
prologuedata.ll
redefinition.ll
replaced-function-matches-first-subprogram.ll
scalable-vector-type-construction.ll [llvm-link] fix IRMover returning wrong modified vector type 2021-02-22 11:29:42 +00:00
sret-types.ll Reapply "OpaquePtr: Add type to sret attribute" 2020-10-16 11:05:02 -04:00
stack-alignment.ll reland [IR] make -stack-alignment= into a module attr 2021-06-08 10:59:46 -07:00
stack-protector-guard-module-attrs.ll [IR] make stack-protector-guard-* flags into module attrs 2021-05-21 15:53:30 -07:00
subprogram-linkonce-weak.ll Restore lit feature object-emission. Omit DebugInfo/Generic on XCore. 2021-04-16 13:02:14 +01:00
syncscopes.ll
targettriple.ll
testlink.ll Preserve the lexical order for global variables during llvm-link merge 2021-04-26 10:11:34 -07:00
thinlto_funcimport_debug.ll Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
transitive-lazy-link.ll
type-unique-alias.ll
type-unique-dst-types.ll
type-unique-inheritance.ll
type-unique-name.ll
type-unique-odr-a.ll Restore lit feature object-emission. Omit DebugInfo/Generic on XCore. 2021-04-16 13:02:14 +01:00
type-unique-odr-b.ll
type-unique-opaque.ll
type-unique-simple2-a.ll Restore lit feature object-emission. Omit DebugInfo/Generic on XCore. 2021-04-16 13:02:14 +01:00
type-unique-simple2-b.ll
type-unique-simple2.ll Restore lit feature object-emission. Omit DebugInfo/Generic on XCore. 2021-04-16 13:02:14 +01:00
type-unique-simple-a.ll Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
type-unique-simple-b.ll Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
type-unique-src-type.ll
type-unique-type-array-a.ll Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
type-unique-type-array-b.ll Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
type-unique-unrelated.ll
unique-fwd-decl-a.ll
unique-fwd-decl-order.ll
uniqued-distinct-cycles.ll
unnamed-addr1-a.ll
unnamed-addr1-b.ll
unnamed-addr-err-a.ll
unnamed-addr-err-b.ll
visibility.ll
weakextern.ll
wrong-addrspace-gv-declaration.ll