1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00
llvm-mirror/test/Assembler
Nikita Popov 7ddbe79e6f [AsmWriter] Properly handle uselistorder for global symbols
Currently, AsmWriter will stick uselistorder directives for global
values inside individual functions. This doesn't make a lot of sense,
and interacts badly with D104950, as use list order adjustments will
be performed while still working on a forward reference.

This patch instead always prints uselistorder directives for globals
at the module level. This isn't really compatible with the previously
used implementation approach. Rather than walking through all values
again, use the OrderMap (after stabilizing its order) to go through
all values and compute the use list shuffles for them. Classify them
per-function, or nullptr for globals.

Even independently of D104950, this seems to fix a few
verify-uselistorder failures. Conveniently, there is even a
pre-existing failing test that this fixes.

Differential Revision: https://reviews.llvm.org/D104976
2021-06-28 23:15:32 +02:00
..
2002-03-08-NameCollision2.ll
2002-03-08-NameCollision.ll
2002-04-07-HexFloatConstants.ll
2002-04-07-InfConstant.ll
2002-04-29-NameBinding.ll
2002-05-02-InvalidForwardRef.ll
2002-07-14-OpaqueType.ll
2002-07-25-QuoteInString.ll
2002-07-25-ReturnPtrFunction.ll
2002-07-31-SlashInString.ll
2002-08-15-CastAmbiguity.ll
2002-08-15-ConstantExprProblem.ll
2002-08-15-UnresolvedGlobalReference.ll
2002-08-16-ConstExprInlined.ll
2002-08-19-BytecodeReader.ll
2002-08-22-DominanceProblem.ll
2002-10-08-LargeArrayPerformance.ll
2002-10-13-ConstantEncodingProblem.ll
2002-12-15-GlobalResolve.ll
2003-01-30-UnsignedString.ll
2003-04-15-ConstantInitAssertion.ll
2003-04-25-UnresolvedGlobalReference.ll
2003-05-03-BytecodeReaderProblem.ll
2003-05-12-MinIntProblem.ll
2003-05-15-AssemblerProblem.ll
2003-05-15-SwitchBug.ll
2003-05-21-ConstantShiftExpr.ll
2003-05-21-EmptyStructTest.ll
2003-05-21-MalformedShiftCrash.ll
2003-05-21-MalformedStructCrash.ll
2003-08-20-ConstantExprGEP-Fold.ll
2003-08-21-ConstantExprCast-Fold.ll
2003-11-05-ConstantExprShift.ll
2003-11-11-ImplicitRename.ll
2003-11-12-ConstantExprCast.ll
2003-11-24-SymbolTableCrash.ll
2004-01-11-getelementptrfolding.ll
2004-01-20-MaxLongLong.ll
2004-02-01-NegativeZero.ll
2004-02-27-SelfUseAssertError.ll
2004-03-07-FunctionAddressAlignment.ll
2004-03-30-UnclosedFunctionCrash.ll
2004-04-04-GetElementPtrIndexTypes.ll
2004-06-07-VerifierBug.ll
2004-10-22-BCWriterUndefBug.ll
2004-11-28-InvalidTypeCrash.ll
2005-01-03-FPConstantDisassembly.ll
2005-01-31-CallingAggregateFunction.ll
2005-05-05-OpaqueUndefValues.ll
2005-12-21-ZeroInitVector.ll
2006-09-28-CrashOnInvalid.ll
2006-12-09-Cast-To-Bool.ll
2007-01-02-Undefined-Arg-Type.ll
2007-01-05-Cmp-ConstExpr.ll
2007-01-16-CrashOnBadCast2.ll
2007-01-16-CrashOnBadCast.ll
2007-03-18-InvalidNumberedVar.ll
2007-03-19-NegValue.ll
2007-04-20-AlignedLoad.ll
2007-04-20-AlignedStore.ll
2007-04-25-AssemblerFoldExternWeak.ll
2007-05-21-Escape.ll
2007-07-19-ParamAttrAmbiguity.ll
2007-08-06-AliasInvalid.ll
2007-09-10-AliasFwdRef.ll
2007-09-29-GC.ll
2007-11-26-AttributeOverload.ll
2007-12-11-AddressSpaces.ll
2008-01-11-VarargAttrs.ll
2008-02-18-IntPointerCrash.ll
2008-07-10-APInt.ll
2008-09-02-FunctionNotes2.ll
2008-09-02-FunctionNotes.ll
2008-09-29-RetAttr.ll
2008-10-14-QuoteInName.ll
2009-02-01-UnnamedForwardRef.ll
2009-02-28-CastOpc.ll
2009-02-28-StripOpaqueName.ll
2009-03-24-ZextConstantExpr.ll
2009-07-24-ZeroArgGEP.ll
2010-02-05-FunctionLocalMetadataBecomesNull.ll
aarch64-intrinsics-attributes.ll
addrspacecast-alias.ll
aggregate-constant-values.ll
aggregate-return-single-value.ll
alias-redefinition.ll
alias-use-list-order.ll
align-inst-alloca.ll
align-inst-load.ll
align-inst-store.ll
align-inst.ll
align-param-attr-error0.ll
align-param-attr-error1.ll
align-param-attr-error2.ll
align-param-attr-format.ll
alignstack.ll
alloca-addrspace0.ll
alloca-addrspace-elems.ll
alloca-addrspace-parse-error-0.ll
alloca-addrspace-parse-error-1.ll
alloca-invalid-type-2.ll
alloca-invalid-type.ll
alloca-size-one.ll
anon-functions.ll
asm-path-writer.ll
atomic.ll
atomicrmw.ll [OpaquePtr] Make atomicrmw work with opaque pointers 2021-05-25 20:16:21 -07:00
attribute-builtin.ll
auto_upgrade_intrinsics.ll Intrinsic::getName: require a Module argument 2021-06-14 14:52:29 +02:00
auto_upgrade_nvvm_intrinsics.ll
autoupgrade-invalid-mem-intrinsics.ll
autoupgrade-thread-pointer.ll
bcwrap.ll
bfloat.ll
block-labels.ll
br-single-destination.ll IR: Fix use-list-order round-tripping for br 2021-06-28 12:53:36 -07:00
byref-parse-error-0.ll
byref-parse-error-1.ll
byref-parse-error-2.ll
byref-parse-error-3.ll
byref-parse-error-4.ll
byref-parse-error-5.ll
byref-parse-error-6.ll
byref-parse-error-7.ll
byref-parse-error-8.ll
byref-parse-error-9.ll
byref-parse-error-10.ll
byval-parse-error0.ll
byval-type-attr.ll
call-arg-is-callee.ll IR: Fix use-list-order round-tripping for call and invoke 2021-06-23 12:04:19 -07:00
call-invalid-1.ll
call-nonzero-program-addrspace-2.ll
call-nonzero-program-addrspace.ll
cmpxchg-ordering-2.ll [Verifier] Move some atomicrmw/cmpxchg checks to instruction creation 2021-05-21 13:41:17 -07:00
cmpxchg-ordering-3.ll [Verifier] Move some atomicrmw/cmpxchg checks to instruction creation 2021-05-21 13:41:17 -07:00
cmpxchg-ordering-4.ll [Verifier] Move some atomicrmw/cmpxchg checks to instruction creation 2021-05-21 13:41:17 -07:00
cmpxchg-ordering.ll [Verifier] Move some atomicrmw/cmpxchg checks to instruction creation 2021-05-21 13:41:17 -07:00
comment.ll
ConstantExprFold.ll [Assembler] Fix global icmp test 2021-03-08 17:26:49 +01:00
ConstantExprFoldCast.ll
ConstantExprFoldSelect.ll
ConstantExprNoFold.ll
datalayout-alloca-addrspace.ll
datalayout-invalid-function-ptr-alignment.ll
datalayout-invalid-stack-natural-alignment.ll
datalayout-program-addrspace.ll
dbg-checksum.ll
debug-info-source-invalid.ll
debug-info-source.ll
debug-info.ll
debug-label-bitcode.ll
debug-variant-discriminator.ll
DICommonBlock.ll
dicompileunit.ll
dicompositetype-members.ll
DIDefaultTemplateParam.ll
DIEnumerator.ll
DIEnumeratorBig.ll
diexpression.ll
difile-escaped-chars.ll
diglobalvariable.ll
DIGlobalVariableExpression.ll
diimportedentity.ll
dilexicalblock.ll
dilocalvariable-arg-large.ll
dilocalvariable.ll
dilocation.ll
DIMacroFile.ll
dimodule.ll
dinamespace.ll
diobjcproperty.ll
distinct-mdnode.ll
disubprogram.ll
disubrange-empty-array.ll
disubroutinetype.ll
ditemplateparameter.ll
ditype-large-values.ll
dllimport-dsolocal-diag.ll
drop-debug-info-nonzero-alloca.ll [IR][Verifier] Relax restriction on alloca address spaces 2021-05-21 11:52:45 +02:00
drop-debug-info.ll
export-symbol-anonymous-class.ll
externally-initialized.ll
extractvalue-invalid-idx.ll
extractvalue-no-idx.ll
fast-math-flags.ll
flags.ll
generic-debug-node.ll
getelementptr_invalid_ptr.ll
getelementptr_struct.ll
getelementptr_vec_ce2.ll
getelementptr_vec_ce.ll
getelementptr_vec_idx1.ll
getelementptr_vec_idx2.ll
getelementptr_vec_idx3.ll
getelementptr_vec_idx4.ll
getelementptr_vec_struct.ll
getelementptr_vscale_struct.ll
getelementptr.ll
getInt.ll
global-addrspace-forwardref.ll
globalvariable-attributes.ll
gv-invalid-type.ll
half-constprop.ll
half-conv.ll
half.ll
huge-array.ll
ifunc-asm.ll
ifunc-dsolocal.ll
ifunc-use-list-order.ll
immarg-param-attribute.ll
inalloca-parse-error0.ll Reapply "OpaquePtr: Turn inalloca into a type attribute" 2021-03-29 08:55:30 -04:00
inalloca.ll
incorrect-tdep-attrs-parsing.ll
inline-asm-clobber.ll
insertextractvalue.ll
insertvalue-invalid-idx.ll
insertvalue-invalid-type-1.ll
insertvalue-invalid-type.ll
internal-hidden-alias.ll
internal-hidden-function.ll
internal-hidden-variable.ll
internal-protected-alias.ll
internal-protected-function.ll
internal-protected-variable.ll
invalid_cast2.ll
invalid_cast3.ll
invalid_cast4.ll
invalid_cast.ll
invalid-alias-mismatched-explicit-type.ll [LLParser] Print mismatched types in error message 2021-04-21 13:10:37 -07:00
invalid-arg-num-1.ll
invalid-arg-num-2.ll
invalid-arg-num-3.ll
invalid-atomicrmw-add-must-be-integer-type.ll
invalid-atomicrmw-fadd-must-be-fp-type.ll
invalid-atomicrmw-fsub-must-be-fp-type.ll
invalid-atomicrmw-xchg-must-be-integer-or-fp-type.ll
invalid-attrgrp.ll
invalid-block-label-num.ll
invalid-byval-type1.ll
invalid-byval-type2.ll
invalid-byval-type3.ll [OpaquePtr] Verify Opaque pointer in function parameter 2021-06-15 14:57:48 -07:00
invalid-comdat2.ll
invalid-comdat.ll
invalid-datalayout1.ll
invalid-datalayout2.ll
invalid-datalayout3.ll
invalid-datalayout4.ll
invalid-datalayout5.ll
invalid-datalayout6.ll
invalid-datalayout7.ll
invalid-datalayout8.ll
invalid-datalayout9.ll
invalid-datalayout10.ll
invalid-datalayout11.ll
invalid-datalayout12.ll
invalid-datalayout13.ll
invalid-datalayout14.ll
invalid-datalayout15.ll
invalid-datalayout16.ll
invalid-datalayout17.ll
invalid-datalayout18.ll
invalid-datalayout19.ll
invalid-datalayout20.ll
invalid-datalayout21.ll
invalid-datalayout22.ll
invalid-datalayout23.ll
invalid-datalayout24.ll
invalid-datalayout-alloca-addrspace.ll
invalid-datalayout-globals-addrspace.ll
invalid-datalayout-program-addrspace.ll
invalid-debug-info-version.ll
invalid-dicompileunit-emissionkind-bad.ll
invalid-dicompileunit-language-bad.ll
invalid-dicompileunit-language-overflow.ll
invalid-dicompileunit-missing-language.ll
invalid-dicompileunit-null-file.ll
invalid-dicompileunit-uniqued.ll
invalid-dicompositetype-missing-tag.ll
invalid-diderivedtype-missing-basetype.ll
invalid-diderivedtype-missing-tag.ll
invalid-dienumerator-missing-name.ll
invalid-dienumerator-missing-value.ll
invalid-diexpression-large.ll
invalid-diexpression-verify.ll
invalid-difile-missing-directory.ll
invalid-difile-missing-filename.ll
invalid-diglobalvariable-empty-name.ll
invalid-diglobalvariable-missing-name.ll
invalid-diimportedentity-missing-scope.ll
invalid-diimportedentity-missing-tag.ll
invalid-dilexicalblock-missing-scope.ll
invalid-dilexicalblock-null-scope.ll
invalid-dilexicalblockfile-missing-discriminator.ll
invalid-dilexicalblockfile-missing-scope.ll
invalid-dilexicalblockfile-null-scope.ll
invalid-dilocalvariable-arg-large.ll
invalid-dilocalvariable-arg-negative.ll
invalid-dilocalvariable-missing-scope.ll
invalid-dilocalvariable-null-scope.ll
invalid-dilocation-field-bad.ll
invalid-dilocation-field-twice.ll
invalid-dilocation-missing-scope-2.ll
invalid-dilocation-missing-scope.ll
invalid-dilocation-null-scope.ll
invalid-dilocation-overflow-column.ll
invalid-dilocation-overflow-line.ll
invalid-dinamespace-missing-namespace.ll
invalid-disubprogram-uniqued-definition.ll
invalid-disubrange-count-large.ll
invalid-disubrange-count-missing.ll
invalid-disubrange-count-negative.ll
invalid-disubrange-count-node.ll
invalid-disubrange-lowerBound-max.ll
invalid-disubrange-lowerBound-min.ll
invalid-disubroutinetype-missing-types.ll
invalid-ditemplatetypeparameter-missing-type.ll
invalid-ditemplatevalueparameter-missing-value.ll
invalid-fp80hex.ll
invalid-fwdref1.ll
invalid-fwdref2.ll
invalid-generic-debug-node-tag-bad.ll
invalid-generic-debug-node-tag-missing.ll
invalid-generic-debug-node-tag-overflow.ll
invalid-generic-debug-node-tag-wrong-type.ll
invalid-gep-mismatched-explicit-type.ll [LLParser] Print mismatched types in error message 2021-04-21 13:10:37 -07:00
invalid-gep-missing-explicit-type.ll
invalid-hexint.ll
invalid-immarg2.ll
invalid-immarg3.ll
invalid-immarg.ll Reapply "OpaquePtr: Turn inalloca into a type attribute" 2021-03-29 08:55:30 -04:00
invalid-inline-constraint.ll
invalid-inttype.ll
invalid-label.ll
invalid-landingpad.ll
invalid-load-mismatched-explicit-type.ll [LLParser] Print mismatched types in error message 2021-04-21 13:10:37 -07:00
invalid-load-missing-explicit-type.ll
invalid-mdnode-badref.ll
invalid-mdnode-vector2.ll
invalid-mdnode-vector.ll
invalid-metadata-attachment-has-type.ll
invalid-metadata-function-local-attachments.ll
invalid-metadata-function-local-complex-1.ll
invalid-metadata-function-local-complex-2.ll
invalid-metadata-function-local-complex-3.ll
invalid-metadata-has-type.ll
invalid-name2.ll
invalid-name.ll
invalid-opaque-ptr-addrspace.ll OpaquePtr: Reject 'ptr*' again when parsing textual IR 2021-06-25 15:18:44 -07:00
invalid-opaque-ptr.ll OpaquePtr: Reject 'ptr*' again when parsing textual IR 2021-06-25 15:18:44 -07:00
invalid-safestack-param.ll
invalid-safestack-return.ll
invalid-specialized-mdnode.ll
invalid-untyped-metadata.ll
invalid-uselistorder_bb-missing-bb.ll
invalid-uselistorder_bb-missing-body.ll
invalid-uselistorder_bb-missing-func.ll
invalid-uselistorder_bb-not-bb.ll
invalid-uselistorder_bb-not-func.ll
invalid-uselistorder_bb-numbered.ll
invalid-uselistorder-function-between-blocks.ll
invalid-uselistorder-function-missing-named.ll
invalid-uselistorder-function-missing-numbered.ll
invalid-uselistorder-global-missing.ll
invalid-uselistorder-indexes-duplicated.ll
invalid-uselistorder-indexes-empty.ll
invalid-uselistorder-indexes-one.ll
invalid-uselistorder-indexes-ordered.ll
invalid-uselistorder-indexes-range.ll
invalid-uselistorder-indexes-toofew.ll
invalid-uselistorder-indexes-toomany.ll
invalid-uselistorder-type.ll
invalid-vecreduce.ll
invoke-nonzero-program-addrspace.ll
large-comdat.ll
local-unnamed-addr.ll
max-inttype.ll
metadata-decl.ll
metadata-function-local.ll
metadata-null-operands.ll
metadata-use-uselistorder.ll
metadata.ll
missing-tbaa.ll
multi-mod-disassemble.ll
multi-summary-disassemble.ll
MultipleReturnValueType.ll
mustprogress-parse-error-0.ll
mustprogress-parse-error-1.ll
mustprogress-parse-error-2.ll
musttail-invalid-1.ll
musttail-invalid-2.ll
musttail.ll
named-metadata.ll
no-mdstring-upgrades.ll
non-global-value-max-name-size.ll Fix non-global-value-max-name-size not considered by LLParser 2021-05-27 04:20:03 +00:00
numbered-values.ll
opaque-ptr-cmpxchg.ll [OpaquePtr] Make cmpxchg work with opaque pointers 2021-05-19 12:44:10 -07:00
opaque-ptr.ll [OpaquePtr] Allow globals with opaque pointer value type 2021-06-25 18:22:26 +02:00
private-hidden-alias.ll
private-hidden-function.ll
private-hidden-variable.ll
private-protected-alias.ll
private-protected-function.ll
private-protected-variable.ll
select.ll
short-hexpair.ll
source-filename-backslash.ll
source-filename.ll
sret-parse-error0.ll
sret-type-attr.ll
summary-flags2.ll
summary-flags.ll
thinlto-bad-summary1.ll
thinlto-bad-summary2.ll
thinlto-bad-summary3.ll
thinlto-blockcount-summary.ll
thinlto-flags-summary.ll
thinlto-multiple-summaries-for-guid.ll
thinlto-summary-visibility.ll
thinlto-summary.ll
thinlto-vtable-summary.ll
tls-models.ll
token.ll
unnamed-addr.ll
unnamed-alias.ll
unnamed-comdat.ll
unnamed.ll
unsized-recursive-type.ll
uselistorder_bb.ll
uselistorder_global.ll [AsmWriter] Properly handle uselistorder for global symbols 2021-06-28 23:15:32 +02:00
uselistorder.ll
vbool-cmp.ll
vector-cmp.ll
vector-select.ll
vector-shift.ll
x86_intrcc.ll
x86mmx.ll