1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
Commit Graph

8201 Commits

Author SHA1 Message Date
Anton Korobeynikov
fb18fbf80d Add bunch of MSP430 'feature' tests. Patch by Brian Lucas with some my refinements
llvm-svn: 83809
2009-10-11 23:02:38 +00:00
Chris Lattner
cb56deb798 reduce vec_shuffle2 and merge into vec_shuffle.
llvm-svn: 83807
2009-10-11 22:54:48 +00:00
Chris Lattner
33bff4602c filecheckize vec_shuffle.ll and merge shuffle.ll into it.
llvm-svn: 83806
2009-10-11 22:52:15 +00:00
Chris Lattner
b044bc079a filecheckize
llvm-svn: 83805
2009-10-11 22:45:17 +00:00
Chris Lattner
68ac2f7b2c rename test
llvm-svn: 83804
2009-10-11 22:44:16 +00:00
Chris Lattner
fa84cccd57 remove old testcase
llvm-svn: 83803
2009-10-11 22:42:06 +00:00
Chris Lattner
65bef57da8 merge test into shift.ll, this also eliminates awful grepping on -stats output
llvm-svn: 83802
2009-10-11 22:39:58 +00:00
Chris Lattner
bc0f470f07 convert to filecheck.
llvm-svn: 83801
2009-10-11 22:36:59 +00:00
Chris Lattner
b033a0ac47 teach instcombine to simplify xor's harder, catching the
new testcase.

llvm-svn: 83799
2009-10-11 22:22:13 +00:00
Chris Lattner
c8e0cdb676 convert xor2 to filecheck, merge in a random regtest
llvm-svn: 83796
2009-10-11 21:42:08 +00:00
Chris Lattner
100f3ac565 generalize a transformation even more: we don't care whether the
input the the mul is a zext from bool, just that it is all zeros
other than the low bit.  This fixes some phase ordering issues
that would cause us to miss some xforms in mul.ll when the worklist
is visited differently.

llvm-svn: 83794
2009-10-11 21:29:45 +00:00
Chris Lattner
40d1618562 simplify a transformation by making it more general.
llvm-svn: 83792
2009-10-11 21:22:21 +00:00
Torok Edwin
ed37f33b81 LICM shouldn't sink/delete debug information. Fix this and add a testcase.
For now the metadata of sinked/hoisted instructions is still wrong, but that'll
be fixed when instructions will have debug metadata directly attached.

llvm-svn: 83786
2009-10-11 19:15:54 +00:00
Anton Korobeynikov
329def1675 Implement 'm' memory operand properly
llvm-svn: 83785
2009-10-11 19:14:21 +00:00
Chris Lattner
8ae883b5f0 when folding duplicate conditions, delete the
now-probably-dead instruction tree feeding it.

llvm-svn: 83778
2009-10-11 18:39:58 +00:00
Chris Lattner
601cc4c588 implement rdar://7293527, a trivial instcombine that llvm-gcc
gets but clang doesn't, because it is implemented in GCC's
fold routine.

llvm-svn: 83761
2009-10-11 07:53:15 +00:00
Chris Lattner
1832a32b78 implement a transformation in jump threading that is currently
done by condprop, but do it in a much more general form.  The
basic idea is that we can do a limited form of tail duplication
in the case when we have a branch on a phi.  Moving the branch
up in to the predecessor block makes instruction selection
much easier and encourages chained jump threadings.

llvm-svn: 83759
2009-10-11 07:24:57 +00:00
Chris Lattner
9a90dc5b0c another testcase jump threading shouldn't crash on.
llvm-svn: 83758
2009-10-11 07:11:11 +00:00
Chris Lattner
90aeacd46f rename a file, remove a poorly reduced testcase.
llvm-svn: 83757
2009-10-11 07:10:28 +00:00
Chris Lattner
525c0272aa make jump threading on a phi with undef inputs happen.
llvm-svn: 83754
2009-10-11 04:18:15 +00:00
Chris Lattner
dedd4ca17b merge two tests.
llvm-svn: 83751
2009-10-11 03:55:30 +00:00
Chris Lattner
3acb62d9ea simplify some run lines, convert a test to filecheck.
llvm-svn: 83750
2009-10-11 03:54:21 +00:00
Chris Lattner
37ff3c0ed1 switch GVN to use SSAUpdater. Besides removing a lot of complexity
from GVN, this also speeds it up, inserts fewer PHI nodes (see the
testcase) and allows it to remove more loads (due to fewer PHI nodes
standing in the way).

llvm-svn: 83746
2009-10-10 23:50:30 +00:00
Anton Korobeynikov
1f9ff55cbc It seems that OR operation does not affect status reg at all.
Remove impdef of SRW. This fixes PR4779

llvm-svn: 83739
2009-10-10 22:17:47 +00:00
Dan Gohman
b535009219 Update this test; the code is the same but it gets counted as one
fewer remat.

llvm-svn: 83690
2009-10-09 23:31:04 +00:00
Dan Gohman
f2ae9c6220 Fix the x86 test-shrink optimization so that it doesn't shrink comparisons
when one of the bits being tested would end up being the sign bit in the
narrower type, and a signed comparison is being performed, since this would
change the result of the signed comparison. This fixes PR5132.

llvm-svn: 83670
2009-10-09 20:35:19 +00:00
Bob Wilson
011e458c11 Merge a bunch of NEON tests into larger files so they run faster.
llvm-svn: 83667
2009-10-09 20:20:54 +00:00
Bob Wilson
de71518edb Convert some ARM tests with lots of greps to use FileCheck.
llvm-svn: 83651
2009-10-09 17:20:46 +00:00
Evan Cheng
439044f330 Fix a logic error that caused non-rematable loop invariants loads to be licm'ed out of loop.
llvm-svn: 83622
2009-10-09 06:21:52 +00:00
Bob Wilson
d48cacb92f Commit one last NEON test to use FileCheck. That's all of them now!
llvm-svn: 83617
2009-10-09 05:31:56 +00:00
Bob Wilson
a8746e6bd1 Convert more NEON tests to use FileCheck.
llvm-svn: 83616
2009-10-09 05:14:48 +00:00
Evan Cheng
b1f6b5fccc Reset kill markers after live interval is reconstructed.
llvm-svn: 83608
2009-10-09 01:17:11 +00:00
Dale Johannesen
10c870b46f When considering whether to inline Callee into Caller,
and that will make Caller too big to inline, see if it
might be better to inline Caller into its callers instead.
This situation is described in PR 2973, although I haven't
tried the specific case in SPASS.

llvm-svn: 83602
2009-10-09 00:11:32 +00:00
Bob Wilson
8092fef09a Add codegen support for NEON vst4lane intrinsics with 128-bit vectors.
llvm-svn: 83600
2009-10-09 00:01:36 +00:00
Bob Wilson
979cb24a81 Add codegen support for NEON vst3lane intrinsics with 128-bit vectors.
llvm-svn: 83598
2009-10-08 23:51:31 +00:00
Bob Wilson
233992bc56 Add codegen support for NEON vst2lane intrinsics with 128-bit vectors.
llvm-svn: 83596
2009-10-08 23:38:24 +00:00
Bob Wilson
395adfabef Convert more NEON tests to use FileCheck.
llvm-svn: 83595
2009-10-08 23:33:03 +00:00
Bob Wilson
5b96a53ffe Add codegen support for NEON vld4lane intrinsics with 128-bit vectors.
Also fix some copy-and-paste errors in previous changes.

llvm-svn: 83590
2009-10-08 22:53:57 +00:00
Bob Wilson
1fe8b7e27c Convert more NEON tests to use FileCheck.
llvm-svn: 83587
2009-10-08 22:33:53 +00:00
Bob Wilson
7209d78713 Add codegen support for NEON vld3lane intrinsics with 128-bit vectors.
llvm-svn: 83585
2009-10-08 22:27:33 +00:00
Bill Wendling
d47d348cdf It's possible for a global variable to be optimized out of a metadata object. So
we should allow a "null" with this dyn_cast.

llvm-svn: 83573
2009-10-08 20:52:51 +00:00
Anton Korobeynikov
f9c811c948 Use lower16 / upper16 imm modifiers to asmprint 32-bit imms splitted via movt/movw pair.
llvm-svn: 83572
2009-10-08 20:43:22 +00:00
Bob Wilson
3a55fe2105 Add codegen support for NEON vld2lane intrinsics with 128-bit vectors.
llvm-svn: 83568
2009-10-08 18:56:10 +00:00
Richard Osborne
1719935e3f Add some peepholes for signed comparisons using ashr X, X, 32.
llvm-svn: 83549
2009-10-08 15:38:17 +00:00
Bob Wilson
225627ec81 Convert more NEON tests to use FileCheck.
llvm-svn: 83528
2009-10-08 06:02:10 +00:00
Bob Wilson
276bdabb9a Add codegen support for NEON vst4 intrinsics with <1 x i64> vectors.
llvm-svn: 83526
2009-10-08 05:18:18 +00:00
Mikhail Glushenkov
c802d57e52 Input files should go before all other options.
Important, for example, when calling 'gcc a.o b.o c.o -lD -lE -lF'.

llvm-svn: 83524
2009-10-08 04:40:08 +00:00
Bob Wilson
8aa1d328b5 Add codegen support for NEON vst3 intrinsics with <1 x i64> vectors.
llvm-svn: 83518
2009-10-08 00:28:28 +00:00
Bob Wilson
958e4ae815 Add codegen support for NEON vst2 intrinsics with <1 x i64> vectors.
llvm-svn: 83513
2009-10-08 00:21:01 +00:00
Bob Wilson
729cd181a2 Add codegen support for NEON vld4 intrinsics with <1 x i64> vectors.
llvm-svn: 83508
2009-10-07 23:54:04 +00:00