1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 11:42:57 +01:00
Commit Graph

31579 Commits

Author SHA1 Message Date
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