1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/test/Bitcode
Steven Wu b1abd6ff52 [Bitcode] Avoid duplicating linker option when upgrading
Summary:
The upgrading path from old ModuleFlag based linker options to the new
NamedMetadata based linker option in in materializeMetadata() which gets
called once for the module and once for every GV. The linker options are
getting dup'ed every time and it can create massive amount of the linker
options in the object file that gets created from old bitcode. Fix the
problem by checking if the new option exists or not before upgrade
again.

rdar://64543389

Reviewers: pcc, t.p.northover, dexonsmith, arphaman

Reviewed By: arphaman

Subscribers: hiraditya, jkorous, ributzka, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83688
2020-07-23 13:07:28 -07:00
..
Inputs
2006-12-11-Cast-ConstExpr.ll
2009-06-11-FirstClassAggregateConstant.ll
aarch64-addp-upgrade.bc
aarch64-addp-upgrade.ll
aggregateInstructions.3.2.ll
aggregateInstructions.3.2.ll.bc
allocated.ll
anon-functions.ll
apple-clang-700-compat.test
arm32_neon_vcnt_upgrade.ll
associated.ll
atomic-no-syncscope.ll
atomic-no-syncscope.ll.bc
atomic.ll
attributes-3.3.ll
attributes-3.3.ll.bc
attributes.ll
auto_upgrade_intrinsics.bc
avr-calling-conventions.ll
avr-calling-conventions.ll.bc
bcanalyzer-atomics.ll
binaryFloatInstructions.3.2.ll
binaryFloatInstructions.3.2.ll.bc
binaryIntInstructions.3.2.ll
binaryIntInstructions.3.2.ll.bc
bitcode-wrapper-header-armv7m.ll
bitcode-wrapper-header-x86_64.ll
bitwiseInstructions.3.2.ll
bitwiseInstructions.3.2.ll.bc
blockaddress.ll
branch-weight.ll
byval-upgrade.test
callbr.ll
callbr.ll.bc
calling-conventions.3.2.ll
calling-conventions.3.2.ll.bc
case-ranges-3.3.ll
case-ranges-3.3.ll.bc
cmpxchg-upgrade.ll
cmpxchg-upgrade.ll.bc
cmpxchg.3.6.ll
cmpxchg.3.6.ll.bc
compatibility-3.6.ll
compatibility-3.6.ll.bc
compatibility-3.7.ll
compatibility-3.7.ll.bc
compatibility-3.8.ll
compatibility-3.8.ll.bc
compatibility-3.9.ll
compatibility-3.9.ll.bc
compatibility-4.0.ll
compatibility-4.0.ll.bc
compatibility-5.0.ll
compatibility-5.0.ll.bc
compatibility-6.0.ll
compatibility-6.0.ll.bc
compatibility.ll
constantsTest.3.2.ll
constantsTest.3.2.ll.bc
conversionInstructions.3.2.ll
conversionInstructions.3.2.ll.bc
dataLocation.ll
debug-loc-again.ll
dicompileunit-gnu-pubnames.ll
DICompileUnit-no-DWOId.ll
DICompileUnit-no-DWOId.ll.bc
DIEnumerator-10.0.ll
DIEnumerator-10.0.ll.bc
DIExpression-4.0.ll
DIExpression-4.0.ll.bc
DIExpression-aggresult.ll
DIExpression-aggresult.ll.bc
DIExpression-deref.ll
DIExpression-deref.ll.bc
DIExpression-minus-upgrade.ll
DIExpression-minus-upgrade.ll.bc
diglobalvariable-3.8.ll
diglobalvariable-3.8.ll.bc
DIGlobalVariableExpression2.ll
DIGlobalVariableExpression2.ll.bc
DIGlobalVariableExpression.ll
DIGlobalVariableExpression.ll.bc
dilocalvariable-3.9.ll
dilocalvariable-3.9.ll.bc
DILocalVariable-explicit-tags.ll
DILocalVariable-explicit-tags.ll.bc
DILocation-implicit-code.ll
DILocation-implicit-code.ll.bc
DIModule-clang-module.ll
DIModule-clang-module.ll.bc
DIModule-fortran-module.ll
DIModule-fortran-module.ll.bc
DINamespace.ll
DINamespace.ll.bc
DISubprogram-distinct-definitions.ll
DISubprogram-distinct-definitions.ll.bc
DISubprogram-v4.ll
DISubprogram-v4.ll.bc
DISubprogram-v5.ll
DISubprogram-v5.ll.bc
disubrange-v0.ll
disubrange-v0.ll.bc
disubrange.ll
DITemplateParameter-5.0.ll
DITemplateParameter-5.0.ll.bc
dityperefs-3.8.ll
dityperefs-3.8.ll.bc
drop-debug-info.3.5.ll
drop-debug-info.3.5.ll.bc
dso_location.ll
extractelement.ll
fcmp-fast.ll
flags.ll
fortranSubrange.ll
fortranSubrangeBackward.ll
fortranSubrangeBackward.ll.bc
function-address-space-fwd-decl.ll
function-default-address-spaces.ll
function-encoding-rel-operands.ll
function-local-metadata.3.5.ll
function-local-metadata.3.5.ll.bc
function-nonzero-address-spaces-types.ll
function-nonzero-address-spaces.ll
global-variables.3.2.ll
global-variables.3.2.ll.bc
globalvariable-attributes.ll
highLevelStructure.3.2.ll
highLevelStructure.3.2.ll.bc
identification.ll
inalloca.ll
infer_dso_local.ll
invalid-functionptr-align.ll
invalid-functionptr-align.ll.bc
invalid-type-for-null-constant.ll
invalid-type-for-null-constant.ll.bc
invalid-weak-external.ll
invalid.ll
invalid.ll.bc
invalid.test
linkage-types-3.2.ll
linkage-types-3.2.ll.bc
local-linkage-default-visibility.3.4.ll
local-linkage-default-visibility.3.4.ll.bc
mdnodes-distinct-in-post-order.ll
mdnodes-distinct-nodes-break-cycles.ll
mdnodes-distinct-nodes-first.ll
mdnodes-in-post-order.ll
mdstring-high-bits.ll
memInstructions.3.2.ll
memInstructions.3.2.ll.bc
metadata-2.ll
metadata-function-blocks.ll
metadata-only-empty-string.ll
metadata-source.ll
metadata-source.ll.bc
metadata-strings.ll
metadata.3.5.ll
metadata.3.5.ll.bc
metadata.ll
miscInstructions.3.2.ll
miscInstructions.3.2.ll.bc
module_hash.ll
module-hash-strtab.ll
multi-module.ll
null-type.ll
null-type.ll.bc
objectsize-upgrade-7.0.ll
objectsize-upgrade-7.0.ll.bc
old-aliases.ll
old-aliases.ll.bc
operand-bundles-bc-analyzer.ll
operand-bundles.ll
padding.test
pr18704.ll
pr18704.ll.bc
PR23310.test
ptest-new.ll
ptest-old.ll
select.ll
shuffle.ll
source-filename.test
ssse3_palignr.ll
standardCIntrinsic.3.2.ll
standardCIntrinsic.3.2.ll.bc
stream-types.c
stream-types.c.ast
stream-types.c.ast.incomplete
stream-types.c.dia
stream-types.c.dia.incomplete
stream-types.c.opt.bitstream
summary_version.ll
tailcall.ll
terminatorInstructions.3.2.ll
terminatorInstructions.3.2.ll.bc
thinlto-alias2.ll
thinlto-alias3.ll
thinlto-alias.ll
thinlto-asm-noimport.ll
thinlto-deadstrip-flag.ll
thinlto-empty-summary-section.ll
thinlto-function-summary-callgraph-cast.ll
thinlto-function-summary-callgraph-pgo.ll
thinlto-function-summary-callgraph-profile-summary.ll
thinlto-function-summary-callgraph-relbf.ll
thinlto-function-summary-callgraph-sample-profile-summary.ll
thinlto-function-summary-callgraph.ll
thinlto-function-summary-functionattrs.ll
thinlto-function-summary-originalnames.ll
thinlto-function-summary-paramaccess.ll
thinlto-function-summary-refgraph.ll
thinlto-function-summary.ll
thinlto-summary-globalvar.ll
thinlto-summary-linkage-types.ll
thinlto-summary-local-5.0.ll
thinlto-summary-local-5.0.ll.bc
thinlto-summary-section.ll
thinlto-synthetic-count-flag.ll
thinlto-type-tests.ll
thinlto-type-vcalls.ll
thinlto-unused-type-tests.ll
upgrade-arc-runtime-calls-bitcast.bc
upgrade-arc-runtime-calls-bitcast.ll
upgrade-arc-runtime-calls-new.bc
upgrade-arc-runtime-calls.bc
upgrade-arc-runtime-calls.ll
upgrade-clang-arc-use.ll
upgrade-clang-arc-use.ll.bc
upgrade-datalayout2.ll
upgrade-datalayout3.ll
upgrade-datalayout.ll
upgrade-dbg-checksum.ll
upgrade-dbg-checksum.ll.bc
upgrade-dbg-value.ll
upgrade-dbg-value.ll.bc
upgrade-debug-info-for-profiling.ll
upgrade-debug-info-for-profiling.ll.bc
upgrade-frame-pointer.ll
upgrade-garbage-collection-for-objc.ll
upgrade-garbage-collection-for-swift.ll
upgrade-global-ctors.ll
upgrade-global-ctors.ll.bc
upgrade-global-dtors.ll
upgrade-global-dtors.ll.bc
upgrade-importedentity.ll
upgrade-importedentity.ll.bc
upgrade-invariant-group-barrier.ll
upgrade-linker-options-2.ll
upgrade-linker-options.ll
upgrade-loop-metadata.ll
upgrade-loop-metadata.ll.bc
upgrade-memory-intrinsics.ll
upgrade-module-flag.ll
upgrade-mrr-runtime-calls.bc
upgrade-objcretainrelease-asm.ll
upgrade-objcretainrelease-asm.ll.bc
upgrade-objcretainrelease.ll
upgrade-objcretainrelease.ll.bc
upgrade-pointer-address-space.ll
upgrade-pointer-address-space.ll.bc
upgrade-section-name.ll
upgrade-subprogram-this.ll
upgrade-subprogram-this.ll.bc
upgrade-subprogram.ll
upgrade-subprogram.ll.bc
upgrade-tbaa.ll
upgrade-vecreduce-intrinsics.ll
upgrade-vecreduce-intrinsics.ll.bc
use-list-order2.ll
use-list-order.ll
value-with-long-name.ll
variableArgumentIntrinsic.3.2.ll
variableArgumentIntrinsic.3.2.ll.bc
vector-pcs.ll
vectorInstructions.3.2.ll
vectorInstructions.3.2.ll.bc
visibility-styles.3.2.ll
visibility-styles.3.2.ll.bc
vscale-round-trip.ll
vscale-shuffle.ll
vst-forward-declaration.ll
weak-cmpxchg-upgrade.ll
weak-cmpxchg-upgrade.ll.bc
weak-macho-3.5.ll
weak-macho-3.5.ll.bc