mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-15 04:30:12 +00:00
1ef70ff39b
Now that `Metadata` is typeless, reflect that in the assembly. These are the matching assembly changes for the metadata/value split in r223802. - Only use the `metadata` type when referencing metadata from a call intrinsic -- i.e., only when it's used as a `Value`. - Stop pretending that `ValueAsMetadata` is wrapped in an `MDNode` when referencing it from call intrinsics. So, assembly like this: define @foo(i32 %v) { call void @llvm.foo(metadata !{i32 %v}, metadata !0) call void @llvm.foo(metadata !{i32 7}, metadata !0) call void @llvm.foo(metadata !1, metadata !0) call void @llvm.foo(metadata !3, metadata !0) call void @llvm.foo(metadata !{metadata !3}, metadata !0) ret void, !bar !2 } !0 = metadata !{metadata !2} !1 = metadata !{i32* @global} !2 = metadata !{metadata !3} !3 = metadata !{} turns into this: define @foo(i32 %v) { call void @llvm.foo(metadata i32 %v, metadata !0) call void @llvm.foo(metadata i32 7, metadata !0) call void @llvm.foo(metadata i32* @global, metadata !0) call void @llvm.foo(metadata !3, metadata !0) call void @llvm.foo(metadata !{!3}, metadata !0) ret void, !bar !2 } !0 = !{!2} !1 = !{i32* @global} !2 = !{!3} !3 = !{} I wrote an upgrade script that handled almost all of the tests in llvm and many of the tests in cfe (even handling many `CHECK` lines). I've attached it (or will attach it in a moment if you're speedy) to PR21532 to help everyone update their out-of-tree testcases. This is part of PR21532. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224257 91177308-0d34-0410-b5e6-96231b3b80d8 |
||
---|---|---|
.. | ||
Inputs | ||
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 | ||
2011-08-22-ResolveAlias2.ll | ||
2011-08-22-ResolveAlias.ll | ||
alias.ll | ||
alignment.ll | ||
AppendingLinkage2.ll | ||
AppendingLinkage.ll | ||
available_externally_a.ll | ||
available_externally_b.ll | ||
basiclink.ll | ||
comdat2.ll | ||
comdat3.ll | ||
comdat4.ll | ||
comdat5.ll | ||
comdat6.ll | ||
comdat7.ll | ||
comdat8.ll | ||
comdat9.ll | ||
comdat.ll | ||
ConstantGlobals.ll | ||
constructor-comdat.ll | ||
ctors.ll | ||
datalayout.ll | ||
DbgDeclare2.ll | ||
DbgDeclare.ll | ||
debug-info-version-a.ll | ||
debug-info-version-b.ll | ||
dllstorage-a.ll | ||
dllstorage-b.ll | ||
func-attrs-a.ll | ||
func-attrs-b.ll | ||
global_ctors.ll | ||
ident.ll | ||
inlineasm.ll | ||
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 | ||
metadata-a.ll | ||
metadata-b.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-pic-1-a.ll | ||
module-flags-pic-2-a.ll | ||
multiple-merged-structs.ll | ||
opaque.ll | ||
partial-type-refinement-link.ll | ||
partial-type-refinement.ll | ||
pr21374.ll | ||
pr21494.ll | ||
PR8300.ll | ||
prologuedata.ll | ||
redefinition.ll | ||
targettriple.ll | ||
testlink.ll | ||
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 | ||
type-unique-odr-b.ll | ||
type-unique-opaque.ll | ||
type-unique-simple2-a.ll | ||
type-unique-simple2-b.ll | ||
type-unique-simple2.ll | ||
type-unique-simple-a.ll | ||
type-unique-simple-b.ll | ||
type-unique-src-type.ll | ||
type-unique-type-array-a.ll | ||
type-unique-type-array-b.ll | ||
type-unique-unrelated.ll | ||
unique-fwd-decl-a.ll | ||
unique-fwd-decl-order.ll | ||
unnamed-addr1-a.ll | ||
unnamed-addr1-b.ll | ||
unnamed-addr-err-a.ll | ||
unnamed-addr-err-b.ll | ||
visibility.ll | ||
weakextern.ll |