llvm-6502/test/Transforms/SLPVectorizer/X86
Duncan P. N. Exon Smith 1ef70ff39b 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224257 91177308-0d34-0410-b5e6-96231b3b80d8
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 SLPVectorizer: Use the type of the value loaded/stored to get the ABI alignment 2014-08-07 22:47:27 +00:00
barriercall.ll
call.ll Vectorize intrinsic math function calls in SLPVectorizer. 2014-05-03 09:59:54 +00:00
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 Continue slp vectorization even the BB already has vectorized store radar://16641956 2014-04-29 19:37:20 +00:00
crash_7zip.ll
crash_binaryop.ll Fix: SLPVectorizer tried to move an instruction which was replaced by a vector instruction. 2014-08-28 07:04:02 +00:00
crash_bullet3.ll
crash_bullet.ll
crash_dequeue.ll
crash_flop7.ll
crash_gep.ll Revert r210342 and r210343, add test case for the crasher. 2014-08-26 19:06:41 +00:00
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 SLPVectorizer: improved scheduling algorithm. 2014-08-01 09:20:42 +00:00
cross_block_slp.ll
cse.ll SLPVectorizer: When sorting by domination for CSE don't assert on unreachable code. 2014-05-09 23:28:49 +00:00
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 SLPVectorizer: An in-tree vectorized entry cannot also be a scalar external use 2013-12-05 15:14:40 +00:00
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 [SLP] Re-enable vectorization of GEP expressions (re-apply r210342 with a fix). 2014-08-27 15:01:18 +00:00
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 SLPVectorizer: improved scheduling algorithm. 2014-08-01 09:20:42 +00:00
insert-element-build-vector.ll [SLPVectorize] Basic ephemeral-value awareness 2014-10-15 17:35:01 +00:00
intrinsic.ll Allow vectorization of intrinsics such as powi,cttz and ctlz in Loop and SLP Vectorizer. 2014-05-30 04:31:24 +00:00
lit.local.cfg Reduce verbiage of lit.local.cfg files 2014-06-09 22:42:55 +00:00
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 SLPVectorizer: Only vectorize intrinsics whose operands are widened equally 2014-04-09 14:20:47 +00:00
odd_store.ll
operandorder.ll
opt.ll opt: Mirror vectorization presets of clang 2013-12-03 16:33:06 +00:00
ordering.ll
phi3.ll
phi_landingpad.ll
phi_overalignedtype.ll
phi.ll Fix broken CHECK lines. 2014-01-11 21:06:00 +00:00
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 PR1860 - We can't save a list of ExtractElement instructions to CSE because some of these instructions 2013-11-26 22:24:25 +00:00
pr19657.ll Fix PR19657 (scalar loads not combined into vector load) 2014-06-06 06:20:08 +00:00
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 SLPVectorizer: Try vectorizing 'splat' stores 2014-02-24 19:52:29 +00:00
unreachable.ll fix: SLPVectorizer crashes for unreachable blocks containing not schedulable instructions. 2014-08-22 01:18:39 +00:00
value-bug.ll SLPVectorizer: Bring back the insertelement patch (r205965) with fixes 2014-05-04 17:10:15 +00:00
vector.ll