mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-26 04:32:44 +01:00
9c5542c040
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. llvm-svn: 224257 |
||
---|---|---|
.. | ||
2003-09-14-InlineValue.ll | ||
2003-09-22-PHINodeInlineFail.ll | ||
2003-09-22-PHINodesInExceptionDest.ll | ||
2003-09-22-PHINodesInNormalInvokeDest.ll | ||
2003-10-13-AllocaDominanceProblem.ll | ||
2004-04-15-InlineDeletesCall.ll | ||
2004-04-20-InlineLinkOnce.ll | ||
2004-10-17-InlineFunctionWithoutReturn.ll | ||
2006-01-14-CallGraphUpdate.ll | ||
2006-07-12-InlinePruneCGUpdate.ll | ||
2006-11-09-InlineCGUpdate-2.ll | ||
2006-11-09-InlineCGUpdate.ll | ||
2007-04-15-InlineEH.ll | ||
2007-06-25-WeakInline.ll | ||
2007-12-19-InlineNoUnwind.ll | ||
2008-09-02-NoInline.ll | ||
2009-01-08-NoInlineDynamicAlloca.ll | ||
2009-01-13-RecursiveInlineCrash.ll | ||
2009-05-07-CallUsingSelfCrash.ll | ||
2010-05-12-ValueMap.ll | ||
align.ll | ||
alloca_test.ll | ||
alloca-bonus.ll | ||
alloca-in-scc.ll | ||
alloca-merge-align-nodl.ll | ||
alloca-merge-align.ll | ||
always-inline.ll | ||
array_merge.ll | ||
attributes.ll | ||
basictest.ll | ||
blockaddress.ll | ||
byval_lifetime.ll | ||
byval-tail-call.ll | ||
byval.ll | ||
callgraph-update.ll | ||
casts.ll | ||
cfg_preserve_test.ll | ||
crash2.ll | ||
crash.ll | ||
debug-invoke.ll | ||
delete-call.ll | ||
devirtualize-2.ll | ||
devirtualize-3.ll | ||
devirtualize.ll | ||
dynamic_alloca_test.ll | ||
ephemeral.ll | ||
externally_available.ll | ||
gvn-inline-iteration.ll | ||
ignore-debug-info.ll | ||
inline_cleanup.ll | ||
inline_constprop.ll | ||
inline_dbg_declare.ll | ||
inline_dce.ll | ||
inline_invoke.ll | ||
inline_minisize.ll | ||
inline_prune.ll | ||
inline_returns_twice.ll | ||
inline_ssp.ll | ||
inline-byval-bonus.ll | ||
inline-cold.ll | ||
inline-invoke-tail.ll | ||
inline-invoke-with-asm-call.ll | ||
inline-musttail-varargs.ll | ||
inline-optnone.ll | ||
inline-optsize.ll | ||
inline-tail.ll | ||
inline-vla.ll | ||
invoke_test-1.ll | ||
invoke_test-2.ll | ||
invoke_test-3.ll | ||
invoke-cleanup.ll | ||
invoke-combine-clauses.ll | ||
invoke-cost.ll | ||
lifetime-no-datalayout.ll | ||
lifetime.ll | ||
nested-inline.ll | ||
noalias2.ll | ||
noalias-calls.ll | ||
noalias-cs.ll | ||
noalias.ll | ||
noinline-recursive-fn.ll | ||
noinline.ll | ||
null-function.ll | ||
optimization-remarks.ll | ||
pr21206.ll | ||
PR4909.ll | ||
ptr-diff.ll | ||
recursive.ll | ||
switch.ll |