Reid Spencer
c9e2e13d0a
Fix syntax.
...
llvm-svn: 36021
2007-04-14 22:32:58 +00:00
Chris Lattner
b37fb6a0da
Implement InstCombine/vec_demanded_elts.ll:test2. This allows us to turn
...
unsigned test(float f) {
return _mm_cvtsi128_si32( (__m128i) _mm_set_ss( f*f ));
}
into:
_test:
movss 4(%esp), %xmm0
mulss %xmm0, %xmm0
movd %xmm0, %eax
ret
instead of:
_test:
movss 4(%esp), %xmm0
mulss %xmm0, %xmm0
xorps %xmm1, %xmm1
movss %xmm0, %xmm1
movd %xmm1, %eax
ret
GCC gets:
_test:
subl $28, %esp
movss 32(%esp), %xmm0
mulss %xmm0, %xmm0
xorps %xmm1, %xmm1
movss %xmm0, %xmm1
movaps %xmm1, %xmm0
movd %xmm0, 12(%esp)
movl 12(%esp), %eax
addl $28, %esp
ret
llvm-svn: 36020
2007-04-14 22:29:23 +00:00
Chris Lattner
8a08819105
manually upgrade test. Add a new test2. I have no way to see if this works
...
because of the tclification. :(
llvm-svn: 36019
2007-04-14 22:27:33 +00:00
Reid Spencer
71d3ab5e62
Try some alternative syntax.
...
llvm-svn: 36018
2007-04-14 22:27:05 +00:00
Chris Lattner
a6b5660209
avoid copying sets and vectors around.
...
llvm-svn: 36017
2007-04-14 22:10:17 +00:00
Jeff Cohen
e7ce8f23f6
Fix PR1329.
...
llvm-svn: 36016
2007-04-14 21:50:21 +00:00
Reid Spencer
9dcf4c2337
For PR1319:
...
Rewrite much of the DejaGnu section to bring it in line with the new
facilities in llvm.exp.
llvm-svn: 36015
2007-04-14 21:46:15 +00:00
Reid Spencer
af1a99f3a7
This test should have been updated with llvm 1.7!
...
llvm-svn: 36014
2007-04-14 20:21:37 +00:00
Reid Spencer
91948d4cad
For PR1319:
...
Upgrade tests to work with new llvm.exp version of llvm_runtest.
llvm-svn: 36013
2007-04-14 20:13:02 +00:00
Reid Spencer
be88bc4cb4
This test needs to use egrep.
...
llvm-svn: 36012
2007-04-14 20:02:51 +00:00
Chris Lattner
6bd7b7b30b
disable switch lowering using shift/and. It still breaks ppc bootstrap for
...
some reason. :( Will investigate.
llvm-svn: 36011
2007-04-14 19:39:41 +00:00
Reid Spencer
63338746dd
For PR1319:
...
More improvements:
1. Using ::errorInfo wasn't such a hot idea. Go back to just printing the
offending line of code and the stderr output. This is sufficient and
not entangled with Tcl goop.
2. Capture the problem report numbers and report them whether pass or fail.
This helps quickly get some context when a test fails, if it has an
associated PR number.
llvm-svn: 36010
2007-04-14 19:37:22 +00:00
Reid Spencer
399026b1a5
Convert test cases to new llvm.exp version of llvm_runtest and fix tests
...
that it found to be broken.
llvm-svn: 36009
2007-04-14 19:27:03 +00:00
Reid Spencer
ef9065c742
For PR1319:
...
Convert to use new llvm.exp version of llvm_testrun
llvm-svn: 36008
2007-04-14 19:10:21 +00:00
Reid Spencer
b7c5957e7c
1. Don't generate redundant copy of stderr
...
2. Only match \ at the *end* of a line.
llvm-svn: 36007
2007-04-14 18:51:19 +00:00
Reid Spencer
2441c0ae3e
Fix a test test llvm.exp found.
...
llvm-svn: 36006
2007-04-14 18:33:31 +00:00
Reid Spencer
7e4bde71c5
bool -> i1 (found by llvm.exp)
...
llvm-svn: 36005
2007-04-14 18:30:06 +00:00
Reid Spencer
26f762270f
Fix a syntax error that llvm.exp found.
...
llvm-svn: 36004
2007-04-14 18:28:16 +00:00
Reid Spencer
0c0fe0afa7
Fix an "already-upgraded" test that llvm.exp found.
...
llvm-svn: 36003
2007-04-14 18:26:02 +00:00
Chris Lattner
6f58839b20
avoid iterator invalidation.
...
llvm-svn: 36002
2007-04-14 18:06:52 +00:00
Reid Spencer
64f7a5ea86
Simplify this test and correct redirection for Tcl exec.
...
llvm-svn: 36001
2007-04-14 17:49:06 +00:00
Reid Spencer
5c59cf718d
Don't try to interpret a fictitious file.
...
llvm-svn: 36000
2007-04-14 17:41:12 +00:00
Reid Spencer
6e0ffa8c43
Print full errorInfo when a failure occurs.
...
llvm-svn: 35999
2007-04-14 17:36:20 +00:00
Jeff Cohen
4bd0fd367a
An even better fix.
...
llvm-svn: 35998
2007-04-14 17:18:29 +00:00
Reid Spencer
a9aad5685b
No need to quote things, shell isn't interpreting any more.
...
llvm-svn: 35997
2007-04-14 17:12:21 +00:00
Jeff Cohen
7233aa9369
Fix recent regression that broke several llvm-tests.
...
llvm-svn: 35996
2007-04-14 16:55:19 +00:00
Reid Spencer
c516c723b1
For PR1319:
...
Changes necessary to run this with the "llvm.exp" version of llvm_runtest.
llvm-svn: 35995
2007-04-14 16:48:55 +00:00
Reid Spencer
89956dc90f
Add the line number where the script failed to the error output.
...
llvm-svn: 35994
2007-04-14 16:41:39 +00:00
Reid Spencer
437520719e
For PR1319:
...
Changes necessary for conversion of this directory to run the tests
under the llvm.exp version of llvm_runtest
llvm-svn: 35993
2007-04-14 16:40:08 +00:00
Reid Spencer
d30ad3f9b2
FIx this test, thanks to llvm.exp
...
llvm-svn: 35992
2007-04-14 16:19:26 +00:00
Reid Spencer
e33f02f0bb
Add a script to run a command but ignore its return code. This script
...
always returns 0. This is useful with the llvm.exp based dejagnu testing
when a test wants to check the error output of tool invocation that
returns non-zero. Since every command is checked with llvm.exp, there needs
to be a way to prevent that checking and this script is it.
llvm-svn: 35991
2007-04-14 16:14:08 +00:00
Anton Korobeynikov
8a1a84f96e
Fix PR1325: Case range optimization was performed in the case it
...
shouldn't. Also fix some "latent" bug on 64-bit platforms
llvm-svn: 35990
2007-04-14 13:25:55 +00:00
Duncan Sands
b4a7326c20
Correct typo.
...
llvm-svn: 35989
2007-04-14 12:30:27 +00:00
Reid Spencer
e105f3f4c4
Fix a missing -f that the new llvm.exp found.
...
llvm-svn: 35988
2007-04-14 09:45:16 +00:00
Reid Spencer
f7396d1c11
Fix a missing -f caught by the new llvm.exp script.
...
llvm-svn: 35987
2007-04-14 09:43:30 +00:00
Reid Spencer
155171c566
Initial version of a re-write of llvm-runtest that doesn't write the
...
tests to a script file but executes each line individually and catches
errors on each line too.
llvm-svn: 35986
2007-04-14 09:39:28 +00:00
Chris Lattner
7196f09edc
disable shift/and lowering to work around PR1325 for now.
...
llvm-svn: 35985
2007-04-14 02:26:56 +00:00
Chris Lattner
49fa8d2bff
Implement a few missing xforms: printf("foo\n") -> puts. printf("x") -> putchar
...
printf("") -> noop. Still need to do the xforms for fprintf.
This implements Transforms/SimplifyLibCalls/Printf.ll
llvm-svn: 35984
2007-04-14 01:17:48 +00:00
Chris Lattner
ebf3cfccdb
new testcase
...
llvm-svn: 35983
2007-04-14 01:17:38 +00:00
Chris Lattner
02137eec8f
in addition to merging, constantmerge should also delete trivially dead globals,
...
in order to clean up after simplifylibcalls.
llvm-svn: 35982
2007-04-14 01:11:54 +00:00
Chris Lattner
efb33d28c6
Implement PR1201 and test/Transforms/InstCombine/malloc-free-delete.ll
...
llvm-svn: 35981
2007-04-14 00:20:02 +00:00
Chris Lattner
a930c3d4e4
testcase for PR1201
...
llvm-svn: 35980
2007-04-14 00:19:36 +00:00
Chris Lattner
164b76565b
use an accessor to simplify code.
...
llvm-svn: 35979
2007-04-14 00:17:39 +00:00
Chris Lattner
45f15572f7
add GetElementPtrInst::hasAllZeroIndices, a long-overdue helper method.
...
Writing it twice in the same day was too much for me.
llvm-svn: 35978
2007-04-14 00:12:57 +00:00
Reid Spencer
67378b22bb
We want the number of bits needed, not the power of 2.
...
llvm-svn: 35977
2007-04-14 00:00:10 +00:00
Dale Johannesen
036cd14ecb
tests for struct/union as input operands to asm.
...
llvm-svn: 35976
2007-04-13 22:54:11 +00:00
Jeff Cohen
b4c610fb89
Silence VC++ warning.
...
llvm-svn: 35975
2007-04-13 22:52:03 +00:00
Reid Spencer
9f9fe70b11
Add the SCCP regression tests for APInt expressions. These test cases
...
turned up some regressions that have since been fixed. We don't want to
loose the regression tests.
Test cases by Guoling Han.
llvm-svn: 35974
2007-04-13 22:33:10 +00:00
Chris Lattner
d0b3e7b0b4
xfail this for now
...
llvm-svn: 35973
2007-04-13 22:20:27 +00:00
Chris Lattner
efd3051d60
Now that codegen prepare isn't defeating me, I can finally fix what I set
...
out to do! :)
This fixes a problem where LSR would insert a bunch of code into each MBB
that uses a particular subexpression (e.g. IV+base+C). The problem is that
this code cannot be CSE'd back together if inserted into different blocks.
This patch changes LSR to attempt to insert a single copy of this code and
share it, allowing codegenprepare to duplicate the code if it can be sunk
into various addressing modes. On CodeGen/ARM/lsr-code-insertion.ll,
for example, this gives us code like:
add r8, r0, r5
str r6, [r8, #+4]
..
ble LBB1_4 @cond_next
LBB1_3: @cond_true
str r10, [r8, #+4]
LBB1_4: @cond_next
...
LBB1_5: @cond_true55
ldr r6, LCPI1_1
str r6, [r8, #+4]
instead of:
add r10, r0, r6
str r8, [r10, #+4]
...
ble LBB1_4 @cond_next
LBB1_3: @cond_true
add r8, r0, r6
str r10, [r8, #+4]
LBB1_4: @cond_next
...
LBB1_5: @cond_true55
add r8, r0, r6
ldr r10, LCPI1_1
str r10, [r8, #+4]
Besides being smaller and more efficient, this makes it immediately
obvious that it is profitable to predicate LBB1_3 now :)
llvm-svn: 35972
2007-04-13 20:42:26 +00:00