1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00
llvm-mirror/test/Transforms/SLPVectorizer/X86
Duncan P. N. Exon Smith 9c5542c040 IR: Make metadata typeless in assembly
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
2014-12-15 19:07:53 +00:00
..
addsub.ll Preserve IR flags (nsw, nuw, exact, fast-math) in SLP vectorizer (PR20802). 2014-09-03 17:40:30 +00:00
align.ll
barriercall.ll
call.ll
cast.ll
cmp_sel.ll
compare-reduce.ll
consecutive-access.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
continue_vectorizing.ll
crash_7zip.ll
crash_binaryop.ll
crash_bullet3.ll
crash_bullet.ll
crash_dequeue.ll
crash_flop7.ll
crash_gep.ll
crash_lencod.ll
crash_mandeltext.ll
crash_netbsd_decompress.ll
crash_scheduling.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
crash_sim4b1.ll
crash_smallpt.ll
crash_vectorizeTree.ll
cross_block_slp.ll
cse.ll
cycle_dup.ll Preserve IR flags (nsw, nuw, exact, fast-math) in SLP vectorizer (PR20802). 2014-09-03 17:40:30 +00:00
debug_info.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
diamond.ll
external_user.ll
extract_in_tree_user.ll Generate extract for in-tree uses if the use is scalar operand in vectorized instruction. radar://18144665 2014-09-02 21:00:39 +00:00
extract.ll
extractcost.ll
flag.ll
gep.ll
hoist.ll Preserve IR flags (nsw, nuw, exact, fast-math) in SLP vectorizer (PR20802). 2014-09-03 17:40:30 +00:00
horizontal.ll Preserve IR flags (nsw, nuw, exact, fast-math) in SLP vectorizer (PR20802). 2014-09-03 17:40:30 +00:00
implicitfloat.ll
in-tree-user.ll
insert-element-build-vector.ll [SLPVectorize] Basic ephemeral-value awareness 2014-10-15 17:35:01 +00:00
intrinsic.ll
lit.local.cfg
long_chains.ll
loopinvariant.ll Preserve IR flags (nsw, nuw, exact, fast-math) in SLP vectorizer (PR20802). 2014-09-03 17:40:30 +00:00
metadata.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
multi_block.ll
multi_user.ll Preserve IR flags (nsw, nuw, exact, fast-math) in SLP vectorizer (PR20802). 2014-09-03 17:40:30 +00:00
non-vectorizable-intrinsic.ll
odd_store.ll
operandorder.ll
opt.ll
ordering.ll
phi3.ll
phi_landingpad.ll
phi_overalignedtype.ll
phi.ll
powof2div.ll Preserve IR flags (nsw, nuw, exact, fast-math) in SLP vectorizer (PR20802). 2014-09-03 17:40:30 +00:00
pr16571.ll
pr16628.ll
pr16899.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
pr18060.ll
pr19657.ll
propagate_ir_flags.ll Preserve IR flags (nsw, nuw, exact, fast-math) in SLP vectorizer (PR20802). 2014-09-03 17:40:30 +00:00
reduction2.ll
reduction.ll
return.ll Vectorize a reduction chain feeding into a 'return' statement. 2014-11-19 16:07:38 +00:00
rgb_phi.ll
saxpy.ll Preserve IR flags (nsw, nuw, exact, fast-math) in SLP vectorizer (PR20802). 2014-09-03 17:40:30 +00:00
scheduling.ll Preserve IR flags (nsw, nuw, exact, fast-math) in SLP vectorizer (PR20802). 2014-09-03 17:40:30 +00:00
simple-loop.ll
simplebb.ll
tiny-tree.ll
unreachable.ll
value-bug.ll
vector.ll