mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +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 |
||
---|---|---|
.. | ||
SPARC | ||
X86 | ||
2002-05-21-PHIElimination.ll | ||
2002-09-24-PHIAssertion.ll | ||
2003-03-07-DominateProblem.ll | ||
2003-08-05-InvokeCrash.ll | ||
2003-08-17-BranchFold.ll | ||
2003-08-17-BranchFoldOrdering.ll | ||
2003-08-17-FoldSwitch-dbg.ll | ||
2003-08-17-FoldSwitch.ll | ||
2004-12-10-SimplifyCFGCrash.ll | ||
2005-06-16-PHICrash.ll | ||
2005-08-01-PHIUpdateFail.ll | ||
2005-10-02-InvokeSimplify.ll | ||
2005-12-03-IncorrectPHIFold.ll | ||
2006-02-17-InfiniteUnroll.ll | ||
2006-06-12-InfLoop.ll | ||
2006-08-03-Crash.ll | ||
2006-10-19-UncondDiv.ll | ||
2006-12-08-Ptr-ICmp-Branch.ll | ||
2007-11-22-InvokeNoUnwind.ll | ||
2007-12-21-Crash.ll | ||
2008-01-02-hoist-fp-add.ll | ||
2008-05-16-PHIBlockMerge.ll | ||
2008-07-13-InfLoopMiscompile.ll | ||
2008-09-08-MultiplePred.ll | ||
2008-09-17-SpeculativeHoist.ll | ||
2008-10-03-SpeculativelyExecuteBeforePHI.ll | ||
2008-12-06-SingleEntryPhi.ll | ||
2008-12-16-DCECond.ll | ||
2009-01-18-PHIPropCrash.ll | ||
2009-01-19-UnconditionalTrappingConstantExpr.ll | ||
2009-05-12-externweak.ll | ||
2010-03-30-InvokeCrash.ll | ||
2011-03-08-UnreachableUse.ll | ||
2011-09-05-TrivialLPad.ll | ||
assume.ll | ||
attr-noduplicate.ll | ||
basictest.ll | ||
branch-cond-merge.ll | ||
branch-cond-prop.ll | ||
branch-fold-dbg.ll | ||
branch-fold-test.ll | ||
branch-fold-threshold.ll | ||
branch-fold.ll | ||
branch-phi-thread.ll | ||
BrUnwind.ll | ||
common-dest-folding.ll | ||
CoveredLookupTable.ll | ||
dbginfo.ll | ||
dce-cond-after-folding-terminator.ll | ||
DeadSetCC.ll | ||
duplicate-phis.ll | ||
EmptyBlockMerge.ll | ||
EqualPHIEdgeBlockMerge.ll | ||
extract-cost.ll | ||
ForwardSwitchConditionToPHI.ll | ||
hoist-common-code.ll | ||
hoist-dbgvalue.ll | ||
hoist-with-range.ll | ||
HoistCode.ll | ||
indirectbr.ll | ||
invoke_unwind.ll | ||
invoke.ll | ||
iterative-simplify.ll | ||
lifetime.ll | ||
MagicPointer.ll | ||
multiple-phis.ll | ||
no_speculative_loads_with_tsan.ll | ||
noreturn-call.ll | ||
phi-undef-loadstore.ll | ||
PhiBlockMerge2.ll | ||
PhiBlockMerge.ll | ||
PhiEliminate2.ll | ||
PhiEliminate3.ll | ||
PhiEliminate.ll | ||
PHINode.ll | ||
PhiNoEliminate.ll | ||
PR9946.ll | ||
PR16069.ll | ||
PR17073.ll | ||
preserve-branchweights-partial.ll | ||
preserve-branchweights-switch-create.ll | ||
preserve-branchweights.ll | ||
return-merge.ll | ||
select-gep.ll | ||
sink-common-code.ll | ||
speculate-math.ll | ||
speculate-store.ll | ||
speculate-vector-ops.ll | ||
speculate-with-offset.ll | ||
SpeculativeExec.ll | ||
switch_create.ll | ||
switch_switch_fold.ll | ||
switch_thread.ll | ||
switch-masked-bits.ll | ||
switch-on-const-select.ll | ||
switch-range-to-icmp.ll | ||
switch-simplify-crash.ll | ||
switch-to-br.ll | ||
switch-to-icmp.ll | ||
switch-to-select-multiple-edge-per-block-phi.ll | ||
switch-to-select-two-case.ll | ||
trap-debugloc.ll | ||
trapping-load-unreachable.ll | ||
trivial-throw.ll | ||
two-entry-phi-return.ll | ||
UncondBranchToReturn.ll | ||
unreachable-blocks.ll | ||
UnreachableEliminate.ll | ||
volatile-phioper.ll |