hanchenye-llvm-project/llvm/test/Linker
Teresa Johnson 2db1369c1f Support for taking the max of module flags when linking, use for PIE/PIC
Summary:
Add Max ModFlagBehavior, which can be used to take the max of two
module flag values when merging modules. Use it for the PIE and PIC
levels.

This avoids an error when we try to import from a module built -fpic
into a module built -fPIC, for example. For both PIE and PIC levels,
this will be legal, since the code generation gets more conservative
as the level is increased. Therefore we can take the max instead of
somehow trying to block importing between modules compiled with
different levels.

Reviewers: tmsriram, pcc

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D33418

llvm-svn: 303590
2017-05-23 00:08:00 +00:00
..
Inputs Support for taking the max of module flags when linking, use for PIE/PIC 2017-05-23 00:08:00 +00: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-TypeResolveProblem.ll
2003-06-02-TypeResolveProblem2.ll
2003-08-20-OpaqueTypeResolve.ll
2003-08-23-GlobalVarLinking.ll
2003-08-23-RecursiveOpaqueTypeResolve.ll
2003-08-24-InheritPtrSize.ll
2003-08-28-TypeResolvesGlobal.ll
2003-08-28-TypeResolvesGlobal2.ll
2003-08-28-TypeResolvesGlobal3.ll Make "@name =" mandatory for globals in .ll files. 2016-05-10 18:22:45 +00:00
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-AliasReference.ll
2008-03-05-AliasReference2.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-AliasFnDecl.ll
2008-07-06-AliasFnDecl2.ll
2008-07-06-AliasWeakDest.ll
2008-07-06-AliasWeakDest2.ll
2009-09-03-mdnode.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
2009-09-03-mdnode2.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
2011-08-04-DebugLoc.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
2011-08-04-DebugLoc2.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
2011-08-04-Metadata.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
2011-08-04-Metadata2.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
2011-08-18-unique-class-type.ll Remove line and file from DINamespace. 2017-04-28 22:25:46 +00:00
2011-08-18-unique-class-type2.ll Remove line and file from DINamespace. 2017-04-28 22:25:46 +00:00
2011-08-18-unique-debug-type.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
2011-08-18-unique-debug-type2.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
AppendingLinkage.ll
AppendingLinkage2.ll
ConstantGlobals.ll
DbgDeclare.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
DbgDeclare2.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
LinkOnce.ll
PR8300.ll
alias-2.ll
alias-3.ll IRLinker: fix double scheduling of mapping a global value because of an alias 2016-05-25 21:00:44 +00:00
alias.ll
alignment.ll
apple-version.ll
available_externally_a.ll Linker: Move special casing for available_externally in IRMover to clients. NFCI. 2017-02-02 05:12:15 +00:00
available_externally_b.ll
available_externally_over_decl.ll
basiclink.ll
broken.ll Don't verify inputs to the Linker if ODR merging. 2016-06-29 18:31:48 +00:00
comdat-rm-dst.ll
comdat.ll
comdat2.ll
comdat4.ll
comdat5.ll
comdat6.ll
comdat7.ll
comdat8.ll
comdat9.ll
comdat10.ll
comdat11.ll
comdat12.ll
comdat13.ll
comdat14.ll ModuleLinker: Do not import linkonce/weak as "external_weak" 2016-04-19 16:11:05 +00:00
comdat15.ll
comdat16.ll
comdat_group.ll
constructor-comdat.ll
ctors.ll
ctors2.ll
ctors3.ll
ctors4.ll
ctors5.ll
datalayout.ll
debug-info-global-var.ll [IR] Remove the DIExpression field from DIGlobalVariable. 2016-12-20 02:09:43 +00:00
debug-info-version-a.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
debug-info-version-b.ll
dicompositetype-unique.ll IR: Enable debug info type ODR uniquing for forward decls 2016-04-19 18:00:19 +00:00
distinct-cycles.ll
distinct.ll
dllstorage-a.ll
dllstorage-b.ll
drop-debug.ll
func-attrs-a.ll
func-attrs-b.ll
funcimport.ll [ThinLTO] Stop importing constant global vars as copies in the backend 2016-12-02 01:02:30 +00:00
funcimport2.ll ThinLTO/ModuleLinker: add a flag to not always pull-in linkonce when performing importing 2016-04-21 01:59:39 +00:00
funcimport_appending_global.ll Move summary creation out of llvm-as into opt 2016-04-12 21:35:18 +00:00
funcimport_comdat.ll Move summary creation out of llvm-as into opt 2016-04-12 21:35:18 +00:00
global_ctors.ll
ident.ll
inlineasm.ll
internalize-lazy.ll
link-flags.ll [Linker] Provide callback for internalization 2017-03-13 18:08:11 +00:00
link-global-to-func.ll
link-type-names.ll
linkage.ll
linkage2.ll
linkmdnode.ll
linkmdnode2.ll
linknamedmdnode.ll
linknamedmdnode2.ll
lto-attributes.ll
mdlocation.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
metadata-a.ll
metadata-attach.ll Linker: Remove unnecessary call to copyMetadata in IRLinker::linkGlobalVariable. 2016-11-14 23:18:38 +00:00
metadata-b.ll
metadata-function.ll
metadata-global.ll Remap metadata attached to global variables. 2017-05-04 23:29:39 +00:00
metadata-with-global-value-operand.ll IR: Drop uniquing when an MDNode Value operand is deleted 2016-08-03 18:19:43 +00:00
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 Linker: teach the IR mover to return llvm::Error. 2016-05-27 05:21:35 +00:00
module-flags-4-b.ll Linker: teach the IR mover to return llvm::Error. 2016-05-27 05:21:35 +00:00
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 Support for taking the max of module flags when linking, use for PIE/PIC 2017-05-23 00:08:00 +00:00
multiple-merged-structs.ll
null_mapping_constant.ll ValueMapper: fix assertion when null-mapping a constant for linking metadata 2016-05-28 17:26:03 +00:00
objectivec-class-property-flag-mismatch.ll Fix autoupgrade logic for Objective-C class properties module flag 2016-09-16 00:38:18 +00:00
odr.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
only-needed-debug-metadata.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
only-needed-named-metadata.ll
only-needed-recurse.ll Fix recursive -only-needed. 2016-04-21 14:56:33 +00:00
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 Remove line and file from DINamespace. 2017-04-28 22:25:46 +00:00
pr27044.ll
prologuedata.ll
redefinition.ll
replaced-function-matches-first-subprogram.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
subprogram-linkonce-weak.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
targettriple.ll
testlink.ll
thinlto_funcimport_debug.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00: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 DebugInfo: Remove MDString-based type references 2016-04-23 21:08:00 +00:00
type-unique-odr-b.ll DebugInfo: Remove MDString-based type references 2016-04-23 21:08:00 +00:00
type-unique-opaque.ll
type-unique-simple-a.ll DebugInfo: Remove MDString-based type references 2016-04-23 21:08:00 +00:00
type-unique-simple-b.ll DebugInfo: Remove MDString-based type references 2016-04-23 21:08:00 +00:00
type-unique-simple2-a.ll DebugInfo: Remove MDString-based type references 2016-04-23 21:08:00 +00:00
type-unique-simple2-b.ll DebugInfo: Remove MDString-based type references 2016-04-23 21:08:00 +00:00
type-unique-simple2.ll
type-unique-src-type.ll
type-unique-type-array-a.ll DebugInfo: Remove MDString-based type references 2016-04-23 21:08:00 +00:00
type-unique-type-array-b.ll DebugInfo: Remove MDString-based type references 2016-04-23 21:08:00 +00:00
type-unique-unrelated.ll
unique-fwd-decl-a.ll
unique-fwd-decl-order.ll
uniqued-distinct-cycles.ll
unnamed-addr-err-a.ll
unnamed-addr-err-b.ll
unnamed-addr1-a.ll
unnamed-addr1-b.ll
visibility.ll
weakextern.ll