mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-09 10:31:14 +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 |
||
---|---|---|
.. | ||
ARM | ||
abs.s | ||
alias-reloc.s | ||
alias.s | ||
align-bss.s | ||
align-nops.s | ||
align-size.s | ||
align-text.s | ||
align.s | ||
bad-expr2.s | ||
bad-expr3.s | ||
bad-expr.s | ||
bad-relocation.s | ||
bad-section.s | ||
basic-elf-32.s | ||
basic-elf-64.s | ||
bracket-exprs.s | ||
bracket.s | ||
bss-large.ll | ||
bss.ll | ||
call-abs.s | ||
cfi-adjust-cfa-offset.s | ||
cfi-advance-loc2.s | ||
cfi-def-cfa-offset.s | ||
cfi-def-cfa-register.s | ||
cfi-def-cfa.s | ||
cfi-escape.s | ||
cfi-large-model.s | ||
cfi-offset.s | ||
cfi-reg.s | ||
cfi-register.s | ||
cfi-rel-offset2.s | ||
cfi-rel-offset.s | ||
cfi-remember.s | ||
cfi-restore.s | ||
cfi-same-value.s | ||
cfi-sections.s | ||
cfi-signal-frame.s | ||
cfi-undefined.s | ||
cfi-version.ll | ||
cfi-window-save.s | ||
cfi-zero-addr-delta.s | ||
cfi.s | ||
comdat-dup-group-name.s | ||
comdat-reloc.s | ||
comdat.s | ||
common2.s | ||
common.s | ||
comp-dir.s | ||
compression.s | ||
debug-line2.s | ||
debug-line.s | ||
debug-loc.s | ||
diff2.s | ||
diff.s | ||
discriminator.s | ||
dot-symbol-assignment.s | ||
elf_directive_previous.s | ||
elf_directive_section.s | ||
empty-dwarf-lines.s | ||
empty.s | ||
entsize.ll | ||
entsize.s | ||
fde.s | ||
file-double.s | ||
file.s | ||
gen-dwarf.s | ||
global-offset.s | ||
gnu-type-diagnostics.s | ||
gnu-type.s | ||
got.s | ||
ident.s | ||
ifunc-reloc.s | ||
invalid-symver.s | ||
lcomm.s | ||
leb128.s | ||
lit.local.cfg | ||
local-reloc.s | ||
many-sections-2.s | ||
many-sections.s | ||
merge.s | ||
n_bytes.s | ||
no-fixup.s | ||
no-reloc.s | ||
nocompression.s | ||
noexec.s | ||
norelocation.s | ||
offset.s | ||
org.s | ||
pic-diff.s | ||
plt.s | ||
pr9292.s | ||
pr19430.s | ||
relax-all-flag.s | ||
relax-arith.s | ||
relax-crash.s | ||
relax.s | ||
reloc-same-name-section.s | ||
relocation-386.s | ||
relocation-pc.s | ||
relocation.s | ||
rename.s | ||
section-quoting.s | ||
section-sym2.s | ||
section-sym-err.s | ||
section-sym.s | ||
section.s | ||
set.s | ||
sleb.s | ||
strtab-suffix-opt.s | ||
subsection.s | ||
subtraction-error.s | ||
symbol-names.s | ||
symver.s | ||
tls-i386.s | ||
tls.s | ||
type-propagate.s | ||
type.s | ||
uleb.s | ||
undef2.s | ||
undef.s | ||
version.s | ||
weak-relocation.s | ||
weak.s | ||
weakref-plt.s | ||
weakref-reloc.s | ||
weakref.s | ||
x86_64-reloc-sizetest.s | ||
zero.s |