Chris Lattner
9764a3cf09
Implement Transforms/InstCombine/vec_extract_elt.ll, transforming:
...
define i32 @test(float %f) {
%tmp7 = insertelement <4 x float> undef, float %f, i32 0
%tmp17 = bitcast <4 x float> %tmp7 to <4 x i32>
%tmp19 = extractelement <4 x i32> %tmp17, i32 0
ret i32 %tmp19
}
into:
define i32 @test(float %f) {
%tmp19 = bitcast float %f to i32 ; <i32> [#uses=1]
ret i32 %tmp19
}
On PPC, this is the difference between:
_test:
mfspr r2, 256
oris r3, r2, 8192
mtspr 256, r3
stfs f1, -16(r1)
addi r3, r1, -16
addi r4, r1, -32
lvx v2, 0, r3
stvx v2, 0, r4
lwz r3, -32(r1)
mtspr 256, r2
blr
and:
_test:
stfs f1, -4(r1)
nop
nop
nop
lwz r3, -4(r1)
blr
llvm-svn: 36025
2007-04-14 23:02:14 +00:00
Chris Lattner
3aad941557
new testcase
...
llvm-svn: 36024
2007-04-14 23:00:51 +00:00
Reid Spencer
3b350f543e
For PR1319:
...
Convert to new test system.
llvm-svn: 36023
2007-04-14 22:54:01 +00:00
Reid Spencer
cfa86314dd
Changes to fix problems with "make check". Apparently you can redefine
...
functions and Tcl's just tickled with that. The fix is to give the "new"
test system a different interface function name.
llvm-svn: 36022
2007-04-14 22:51:29 +00:00
Reid Spencer
a8235c3a66
Fix syntax.
...
llvm-svn: 36021
2007-04-14 22:32:58 +00:00
Chris Lattner
3553a131d0
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
89b4e282d6
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
9811e4ba2b
Try some alternative syntax.
...
llvm-svn: 36018
2007-04-14 22:27:05 +00:00
Chris Lattner
7928216e38
avoid copying sets and vectors around.
...
llvm-svn: 36017
2007-04-14 22:10:17 +00:00
Jeff Cohen
5a502fb622
Fix PR1329.
...
llvm-svn: 36016
2007-04-14 21:50:21 +00:00
Reid Spencer
0f6c55fbf0
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
8b3b77e30c
This test should have been updated with llvm 1.7!
...
llvm-svn: 36014
2007-04-14 20:21:37 +00:00
Reid Spencer
c49d7dd886
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
c3793d33d1
This test needs to use egrep.
...
llvm-svn: 36012
2007-04-14 20:02:51 +00:00
Chris Lattner
357a11fcbb
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
798486bc87
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
6ac77d03a8
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
69d42ad9b6
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
991a7da9b9
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
1b945f943e
Fix a test test llvm.exp found.
...
llvm-svn: 36006
2007-04-14 18:33:31 +00:00
Reid Spencer
42b10c8238
bool -> i1 (found by llvm.exp)
...
llvm-svn: 36005
2007-04-14 18:30:06 +00:00
Reid Spencer
78a3955c01
Fix a syntax error that llvm.exp found.
...
llvm-svn: 36004
2007-04-14 18:28:16 +00:00
Reid Spencer
c8edc6280f
Fix an "already-upgraded" test that llvm.exp found.
...
llvm-svn: 36003
2007-04-14 18:26:02 +00:00
Chris Lattner
3cebebfdd4
avoid iterator invalidation.
...
llvm-svn: 36002
2007-04-14 18:06:52 +00:00
Reid Spencer
c64112d7bd
Simplify this test and correct redirection for Tcl exec.
...
llvm-svn: 36001
2007-04-14 17:49:06 +00:00
Reid Spencer
4fb70fd410
Don't try to interpret a fictitious file.
...
llvm-svn: 36000
2007-04-14 17:41:12 +00:00
Reid Spencer
3eb6245e5f
Print full errorInfo when a failure occurs.
...
llvm-svn: 35999
2007-04-14 17:36:20 +00:00
Jeff Cohen
6e724c5338
An even better fix.
...
llvm-svn: 35998
2007-04-14 17:18:29 +00:00
Reid Spencer
61b2bc63f3
No need to quote things, shell isn't interpreting any more.
...
llvm-svn: 35997
2007-04-14 17:12:21 +00:00
Jeff Cohen
114799eab9
Fix recent regression that broke several llvm-tests.
...
llvm-svn: 35996
2007-04-14 16:55:19 +00:00
Reid Spencer
7657efbfd3
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
a4ac5f2f08
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
d04d54345e
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
e946685d0b
FIx this test, thanks to llvm.exp
...
llvm-svn: 35992
2007-04-14 16:19:26 +00:00
Reid Spencer
489c9a2006
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
bdb4f560da
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
99bc2c31b3
Correct typo.
...
llvm-svn: 35989
2007-04-14 12:30:27 +00:00
Reid Spencer
424ebf9c39
Fix a missing -f that the new llvm.exp found.
...
llvm-svn: 35988
2007-04-14 09:45:16 +00:00
Reid Spencer
e44effb288
Fix a missing -f caught by the new llvm.exp script.
...
llvm-svn: 35987
2007-04-14 09:43:30 +00:00
Reid Spencer
90bdd23c2b
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
6e71d21892
disable shift/and lowering to work around PR1325 for now.
...
llvm-svn: 35985
2007-04-14 02:26:56 +00:00
Chris Lattner
a283acb406
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
3a22af9126
new testcase
...
llvm-svn: 35983
2007-04-14 01:17:38 +00:00
Chris Lattner
25f2c932b7
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
6f64f54168
Implement PR1201 and test/Transforms/InstCombine/malloc-free-delete.ll
...
llvm-svn: 35981
2007-04-14 00:20:02 +00:00
Chris Lattner
1d90754cf7
testcase for PR1201
...
llvm-svn: 35980
2007-04-14 00:19:36 +00:00
Chris Lattner
b97ff21db2
use an accessor to simplify code.
...
llvm-svn: 35979
2007-04-14 00:17:39 +00:00
Chris Lattner
5ed58fc4a9
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
84c2475e77
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
e7e6d863f4
tests for struct/union as input operands to asm.
...
llvm-svn: 35976
2007-04-13 22:54:11 +00:00