mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-09-30 19:55:11 +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 |
||
---|---|---|
.. | ||
absaddr-store.ll | ||
absimm.ll | ||
adde.ll | ||
always-ext.ll | ||
args.ll | ||
ashift-left-right.ll | ||
block-addr.ll | ||
BranchPredict.ll | ||
cext-check.ll | ||
cext-valid-packet1.ll | ||
cext-valid-packet2.ll | ||
cmp_pred2.ll | ||
cmp_pred_reg.ll | ||
cmp_pred.ll | ||
cmp-not.ll | ||
cmp-to-genreg.ll | ||
cmp-to-predreg.ll | ||
cmpb_pred.ll | ||
combine_ir.ll | ||
combine.ll | ||
convertdptoint.ll | ||
convertdptoll.ll | ||
convertsptoint.ll | ||
convertsptoll.ll | ||
ctlz-cttz-ctpop.ll | ||
ctor.ll | ||
dadd.ll | ||
dmul.ll | ||
double.ll | ||
doubleconvert-ieee-rnd-near.ll | ||
dsub.ll | ||
dualstore.ll | ||
extload-combine.ll | ||
fadd.ll | ||
fcmp.ll | ||
float.ll | ||
floatconvert-ieee-rnd-near.ll | ||
fmul.ll | ||
frame.ll | ||
fsub.ll | ||
fusedandshift.ll | ||
gp-plus-offset-load.ll | ||
gp-plus-offset-store.ll | ||
gp-rel.ll | ||
hwloop-cleanup.ll | ||
hwloop-const.ll | ||
hwloop-dbg.ll | ||
hwloop-le.ll | ||
hwloop-lt1.ll | ||
hwloop-lt.ll | ||
hwloop-ne.ll | ||
i1_VarArg.ll | ||
i8_VarArg.ll | ||
i16_VarArg.ll | ||
idxload-with-zero-offset.ll | ||
indirect-br.ll | ||
lit.local.cfg | ||
macint.ll | ||
memops1.ll | ||
memops2.ll | ||
memops3.ll | ||
memops.ll | ||
misaligned-access.ll | ||
mpy.ll | ||
newvaluejump2.ll | ||
newvaluejump.ll | ||
newvaluestore.ll | ||
opt-fabs.ll | ||
opt-fneg.ll | ||
packetize_cond_inst.ll | ||
postinc-load.ll | ||
postinc-store.ll | ||
pred-absolute-store.ll | ||
pred-gp.ll | ||
pred-instrs.ll | ||
predicate-copy.ll | ||
remove_lsr.ll | ||
simpletailcall.ll | ||
split-const32-const64.ll | ||
static.ll | ||
struct_args_large.ll | ||
struct_args.ll | ||
sube.ll | ||
tail-call-trunc.ll | ||
tfr-to-combine.ll | ||
union-1.ll | ||
vaddh.ll | ||
validate-offset.ll | ||
zextloadi1.ll |