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

4187 Commits

Author SHA1 Message Date
Evan Cheng
3493ec0ce1 Redo and generalize previously removed opt for pinsrw: (vextract (v4i32 bc (v4f32 s2v (f32 load ))), 0) -> (i32 load )
llvm-svn: 40628
2007-07-31 08:04:03 +00:00
Christopher Lamb
907892e47a Teach BasicAA about noalias function parameters. Passes all of DejaGNU and test-suite.
llvm-svn: 40624
2007-07-31 07:04:51 +00:00
Christopher Lamb
6f372976ca Un-XFAIL these tests after r40622 fixed them.
llvm-svn: 40623
2007-07-31 07:03:24 +00:00
Reid Spencer
ac494bd7cf For PR1553:
Make the AsmParser auto-upgrade the old zext and sext
keywords for parameter attributes and handle the 
end-of-line ambiguity.

llvm-svn: 40610
2007-07-31 02:57:37 +00:00
Dan Gohman
375d541183 Fix a bug in getCopyFromParts turned up in the testcase for PR1132.
llvm-svn: 40598
2007-07-30 19:09:17 +00:00
Owen Anderson
a8d0a6ee40 Fix a bug caused by indiscriminantly asking for the dominators of a predecessor.
llvm-svn: 40595
2007-07-30 16:57:08 +00:00
Evan Cheng
ccd453c461 New test case.
llvm-svn: 40587
2007-07-30 07:52:03 +00:00
Christopher Lamb
0df2d6e9e5 Add tests for generating noalias parameter attribute from __restrict qualified function parameters. C++ tests are currently XFAILing see PR1582.
llvm-svn: 40583
2007-07-29 23:29:16 +00:00
Reid Spencer
3df94811d2 Be explicit about which level of optimization is being asked for. The -O option
is equivalent to -O1.

llvm-svn: 40581
2007-07-29 18:23:22 +00:00
Nick Lewycky
391b3e4b4c Make this explictly signed. Fixes PR1571.
llvm-svn: 40569
2007-07-28 16:43:10 +00:00
Dan Gohman
0252aa07ee Re-apply 40504, but with a fix for the segfault it caused in oggenc:
Make the alignedload and alignedstore patterns always require 16-byte
alignment. This way when they are used in the "Fs" instructions, in which
a vector instruction is used for a scalar purpose, they can still require
the full vector alignment. And add a regression test for this.

llvm-svn: 40555
2007-07-27 17:16:43 +00:00
Evan Cheng
cb8f08ebca Reverting 40504 for now. It's breaking oggenc.
llvm-svn: 40547
2007-07-27 01:37:47 +00:00
Owen Anderson
ed3e63a203 Fix a bug introduced in my last commit.
llvm-svn: 40542
2007-07-26 18:57:04 +00:00
Owen Anderson
f2b10d3de3 Fix a couple more bugs in the phi construction by pulling in code that does
almost the same things from LCSSA.

llvm-svn: 40540
2007-07-26 18:26:51 +00:00
Evan Cheng
7b20c11ccf Test case for PR1573.
llvm-svn: 40539
2007-07-26 17:45:57 +00:00
Evan Cheng
a681654ef4 Fix test.
llvm-svn: 40536
2007-07-26 17:07:03 +00:00
Dan Gohman
513dcba4f8 Remove X86ISD::LOAD_PACK and X86ISD::LOAD_UA and associated code from the
x86 target, replacing them with the new alignment attributes on memory
references.

llvm-svn: 40504
2007-07-26 00:31:09 +00:00
Owen Anderson
ed75133924 Fix what is _hopefully_ the last corner case for loops.
llvm-svn: 40503
2007-07-25 23:54:42 +00:00
Owen Anderson
1e53615073 My last commit was not correct for nested loops. Fix it, and add a testcase for it.
llvm-svn: 40498
2007-07-25 22:19:40 +00:00
Owen Anderson
ce9d73dbe7 Fix an infinite loop on 300.twolf.
llvm-svn: 40497
2007-07-25 22:03:06 +00:00
Owen Anderson
b215074820 Fix a bug in non-local memdep that was causing an infinite loop on 175.vpr.
llvm-svn: 40495
2007-07-25 21:26:36 +00:00
Owen Anderson
522f7a7608 Fix a bug that was causing GVN to crash on 252.eon.
llvm-svn: 40494
2007-07-25 21:13:41 +00:00
Owen Anderson
6a1a8d05b8 Add basic support for performing whole-function RLE.
Note: This has not yet been thoroughly tested.  Use at your own risk.

llvm-svn: 40489
2007-07-25 19:57:03 +00:00
Chandler Carruth
581a82e0bb Moving regression test to reflect move in source and headers to Bitcode.
llvm-svn: 40488
2007-07-25 19:47:31 +00:00
Dan Gohman
a2e07a38bc Use movaps to load a v4f32 build_vector of all-constant values into a
register instead of loading each element individually.

llvm-svn: 40478
2007-07-24 22:55:08 +00:00
Owen Anderson
eb9f1b612c Add a GVN pass, using the value numbering code I developed for GVNPRE and the
load elimination code from RedundantLoadElimination.

llvm-svn: 40469
2007-07-24 17:55:58 +00:00
Devang Patel
aa2a753350 Unreachable block is not a root node in post dominator tree.
llvm-svn: 40458
2007-07-24 01:02:25 +00:00
Owen Anderson
5969a3cb91 Rename a lot of things to change FastDLE to RedundantLoadElimination.
llvm-svn: 40457
2007-07-24 00:17:04 +00:00
Chandler Carruth
f4eead2a50 Fix for PR1567, which involves a weird bug on non-32bit architectures and silly C type sizes.
llvm-svn: 40451
2007-07-23 22:42:15 +00:00
Owen Anderson
004db891dd Add testcases for FastDLE.
llvm-svn: 40449
2007-07-23 22:18:05 +00:00
Owen Anderson
c133ed619f Move these tests to use FastDSE instead of old DSE.
llvm-svn: 40444
2007-07-23 20:49:13 +00:00
Dan Gohman
e2dcfd1516 Delete the svn:executable property on these files, which aren't executable.
llvm-svn: 40441
2007-07-23 19:26:08 +00:00
Duncan Sands
5a29993695 The Ada f-e produces various auxiliary output files
that cannot be suppressed and cannot be redirected:
they are dumped in the current working directory.
When running the testsuite this means that these
files do not end up in the Output directory.  The
best solution I could find is to change directory
into Output before running tests.

llvm-svn: 40437
2007-07-23 15:23:35 +00:00
Duncan Sands
ec44ba07b5 For multipart tests, place the parts with no
RUN line in Support.  Give up on sending output
to /dev/null - this cannot always be arranged.

llvm-svn: 40436
2007-07-23 13:41:53 +00:00
Duncan Sands
644d0388fc Remove -O1 in favour of making llvm-gcc-4.2 a bit
smarter.

llvm-svn: 40391
2007-07-22 10:25:44 +00:00
Chris Lattner
b4bf211c23 This xform isn't safe, removing it.
llvm-svn: 40378
2007-07-21 21:27:27 +00:00
Duncan Sands
925762f19b Need -O1 or better to have these builtins lowered to
llvm intrinsics in llvm-gcc-4.2.  This is because
get_pointer_alignment bails out: it relies on TER
to compute accurate alignment information.

llvm-svn: 40128
2007-07-20 22:39:06 +00:00
Dan Gohman
87107326f6 Optimize alignment of loads and stores.
llvm-svn: 40102
2007-07-20 16:34:21 +00:00
Dan Gohman
df9edb66c2 Update these regression tests to accomodate X86InstrSSE.td now using movups/movaps
for everything.

llvm-svn: 40101
2007-07-20 16:31:26 +00:00
Evan Cheng
d846db5ab8 New test.
llvm-svn: 40077
2007-07-20 00:27:56 +00:00
Evan Cheng
d7a079b7e2 New test.
llvm-svn: 40073
2007-07-19 23:53:50 +00:00
Evan Cheng
b95db5ea4b Try fixing it again.
llvm-svn: 40072
2007-07-19 23:53:29 +00:00
Reid Spencer
44d34e9b61 For PR1553:
Change the keywords for the zext and sext parameter attributes to be 
zeroext and signext so they don't conflict with the keywords for the
instructions of the same name. This gets around the ambiguity.

llvm-svn: 40069
2007-07-19 23:13:04 +00:00
Bill Wendling
649bfb8c03 Don't need the "&&" to glue lines together.
llvm-svn: 40063
2007-07-19 18:06:26 +00:00
Duncan Sands
f5054e4d83 Fix this test. We produce pretty cruddy code for this
nowadays, unfortunately it's not so easy to get good
code here while still producing correct code in exotic
situations.

llvm-svn: 40050
2007-07-19 09:38:34 +00:00
Bill Wendling
ca081ee3f7 Testcase for PR1549
llvm-svn: 40041
2007-07-19 06:31:11 +00:00
Devang Patel
988a83909e New test.
llvm-svn: 40023
2007-07-18 23:47:02 +00:00
Evan Cheng
626af8e187 New test.
llvm-svn: 40020
2007-07-18 21:39:16 +00:00
Dan Gohman
2fc9d5171e Implement initial memory alignment awareness for SSE instructions. Vector loads
and stores that have a specified alignment of less than 16 bytes now use
instructions that support misaligned memory references.

llvm-svn: 40015
2007-07-18 20:23:34 +00:00
Dan Gohman
4c140b7128 It's not necessary to do rounding for alloca operations when the requested
alignment is equal to the stack alignment.

llvm-svn: 40004
2007-07-18 16:29:46 +00:00
Reid Spencer
beabff6111 Fix this test to not rely on the path but to use the
configured llvm-gcc instead.

llvm-svn: 39992
2007-07-18 04:37:24 +00:00
Evan Cheng
0c49836a9f Fix test.
llvm-svn: 39976
2007-07-17 18:16:09 +00:00
Tanya Lattner
1b070ae252 Don't use * in XFAIL line unless you want it to XFAIL on everything. I don't believe you can use true regular expressions here. It will just look for those keywords. Please test this on sparc and see if they still are xfailed.
llvm-svn: 39975
2007-07-17 18:08:32 +00:00
Gabor Greif
5bf00849d3 XFAIL these on sparc-solaris
llvm-svn: 39969
2007-07-17 10:25:31 +00:00
Evan Cheng
532b73311e Use push / pop for prologues and epilogues.
llvm-svn: 39967
2007-07-17 07:59:08 +00:00
Reid Spencer
175fd0a317 For PR1558:
Move tests that have C/C++ sources into the appropriate directory. This
allows them to be selected for testing based on whether llvm-gcc is
present or not.

llvm-svn: 39963
2007-07-17 06:20:38 +00:00
Reid Spencer
01cc8f3c76 Remove insignificant test no longer needed.
llvm-svn: 39931
2007-07-16 22:03:36 +00:00
Dan Gohman
0c1259b7e4 Remove the trailing semicolon from function declarations in LLVM,
where it's interpreted as a comment, not part of the syntax.

llvm-svn: 39920
2007-07-16 13:37:30 +00:00
Chris Lattner
96a035fce7 rename function to avoid llvm-upgrade warning
llvm-svn: 39895
2007-07-16 04:09:00 +00:00
Nick Lewycky
43e5fd5be7 Handle decrementing loops properly. Fixes PR1533.
Always pass the constant as the second parameter to HowManyLessThans.

Remove obsolete "isSigned" parameter.

llvm-svn: 39893
2007-07-16 02:08:00 +00:00
Chris Lattner
f2fd4e185e new testcase
llvm-svn: 39882
2007-07-15 22:30:34 +00:00
Chris Lattner
f6a91d74e0 Implement shift-simplify.ll:test[45].
First teach instcombine that sign bit checks only demand the 
sign bit, this allows simplify demanded bits to hack on 
expressions better.

Second, teach instcombine that ashr is useless if only the
sign bit is demanded.

llvm-svn: 39880
2007-07-15 20:54:51 +00:00
Chris Lattner
9cb8da1cb8 Implement shift-simplify.ll:test3, turning:
(X << 31) <s 0  --> (X&1) != 0

This happens dozens of times in the CFE.

llvm-svn: 39879
2007-07-15 20:42:37 +00:00
Evan Cheng
bb0c0f7335 Added test case from PR1540.
llvm-svn: 39845
2007-07-13 23:57:33 +00:00
Dale Johannesen
469ed8e17e Skeleton of post-RA scheduler; doesn't do anything yet.
Change name of -sched option and DEBUG_TYPE to
pre-RA-sched; adjust testcases.

llvm-svn: 39816
2007-07-13 17:13:54 +00:00
Gabor Greif
8a0024300f these tests do not need a triple on Solaris. Thanks sabre!
llvm-svn: 39803
2007-07-13 10:08:18 +00:00
Gabor Greif
4f61fce837 fix the remaining 3 testcases that missed a target triple
llvm-svn: 39773
2007-07-12 13:21:08 +00:00
Devang Patel
9a299aa63a New test.
llvm-svn: 39768
2007-07-11 23:54:25 +00:00
Lauro Ramos Venancio
0ad4cde600 Handle packed structs in the CBackend.
llvm-svn: 39752
2007-07-11 19:56:53 +00:00
Evan Cheng
9f43f89d89 Add test case for PR1545.
llvm-svn: 39749
2007-07-11 19:29:05 +00:00
Rafael Espindola
c0d9376230 check for correct usage of the byval attribute
llvm-svn: 38506
2007-07-10 19:28:12 +00:00
Dan Gohman
629311ca52 Change the peep for EXTRACT_VECTOR_ELT of BUILD_PAIR to look for
the new CONCAT_VECTORS node type instead, as that's what legalize
uses now. And add a peep for EXTRACT_VECTOR_ELT of INSERT_VECTOR_ELT.

llvm-svn: 38503
2007-07-10 18:20:44 +00:00
Dan Gohman
5202c50198 Add a regression test for folding spill code into scalar min and max.
llvm-svn: 38492
2007-07-10 15:34:29 +00:00
Dan Gohman
81cfdc2f19 Change getCopyToParts and getCopyFromParts to always use target-endian
register ordering, for both physical and virtual registers. Update the PPC
target lowering for calls to expect registers for the call result to
already be in target order.

llvm-svn: 38471
2007-07-09 20:59:04 +00:00
Chris Lattner
9ce649f66e force a cpu without SSE
llvm-svn: 38466
2007-07-09 17:35:18 +00:00
Chris Lattner
5f21d8c4a8 allow this to work on ppc-darwin
llvm-svn: 38465
2007-07-09 17:32:28 +00:00
Chris Lattner
587e824b72 remove this bogus t-t
llvm-svn: 38464
2007-07-09 17:31:07 +00:00
Chris Lattner
d1f424ccfb add target triple to fix PR1546
llvm-svn: 38462
2007-07-09 17:14:58 +00:00
Dan Gohman
b73f9e21e9 Add explicit triples to these tests so that llc behaves as expected on
non-Apple hosts.

llvm-svn: 38455
2007-07-09 13:42:32 +00:00
Owen Anderson
30fc1decdc Fix an error where ANTIC_OUT was ending up with more than one expression of
the same value number.  This fixes an infinite loop on 444.namd.

llvm-svn: 37967
2007-07-07 20:13:57 +00:00
Dan Gohman
91b1ffd6c4 Add an explicit triple to the big-endian tests so that the assembly
output format is always consistent with what the greps are looking for.

llvm-svn: 37943
2007-07-06 13:15:51 +00:00
Duncan Sands
3526ada4dc Test that byte offsets are used to index into the list
of filter ids, and not simply the id index.  Testing
this requires at least 128 type infos!

llvm-svn: 37941
2007-07-06 12:38:27 +00:00
Owen Anderson
7cf3a2aa1f Fix a bunch of issues found in a testcase from 400.perlbench.
llvm-svn: 37929
2007-07-05 23:11:26 +00:00
Evan Cheng
3974939d92 Fix test.
llvm-svn: 37928
2007-07-05 23:00:50 +00:00
Chris Lattner
b11af79de8 avoid ambiguity in target selection
llvm-svn: 37927
2007-07-05 22:16:19 +00:00
Dan Gohman
90c6b87b31 Add a parameter to getCopyToParts and getCopyFromParts to specify whether
endian swapping should be done, and update the code to use it. This fixes
some register ordering issues on big-endian systems, such as PowerPC,
introduced by the recent illegal by-val arguments changes.

llvm-svn: 37921
2007-07-05 20:12:34 +00:00
Devang Patel
aba2f3de85 Fix PR1539. Add LoopPassPrinter.
llvm-svn: 37909
2007-07-05 15:32:03 +00:00
Owen Anderson
2024c08f65 Fix another bug, this time in PREing select instructions.
llvm-svn: 37878
2007-07-04 22:33:23 +00:00
Duncan Sands
c02ea23dea Nested try-catch-filter testcase.
llvm-svn: 37874
2007-07-04 20:48:48 +00:00
Owen Anderson
ac8fe6b8ca Fix a typo that was killing GVNPRE of select instructions.
llvm-svn: 37871
2007-07-04 18:26:18 +00:00
Owen Anderson
06dd016177 Fix an error in phi translation of GEPs that was causing failures.
llvm-svn: 37868
2007-07-04 04:51:16 +00:00
Bill Wendling
3600c7a835 Allow a GR64 to be moved into an MMX register via the "movd" instruction.
Still need to have JIT generate this code.

llvm-svn: 37863
2007-07-04 00:19:54 +00:00
Owen Anderson
4a5c005585 Add support for performing GVNPRE on GEP instructions.
llvm-svn: 37862
2007-07-03 23:51:19 +00:00
Owen Anderson
ba084e17fd Add support for performing GVNPRE on cast instructions, and add a testcase for this.
llvm-svn: 37856
2007-07-03 18:37:08 +00:00
Dale Johannesen
a12e448c37 New testcases for rev 37847 (PR's 1489 and 1505).
llvm-svn: 37848
2007-07-03 00:58:37 +00:00
Dan Gohman
965e6efe24 Add a basic test-case for passing and returning <4 x double> and
<8 x float> values on X86.

llvm-svn: 37845
2007-07-02 16:23:47 +00:00
Dan Gohman
f46ec01deb New test case. DAGCombiner should be able to fold -sin(-x)
in -enable-unsafe-fp-math mode.

llvm-svn: 37841
2007-07-02 15:43:20 +00:00
Zhou Sheng
c61006cead Test case for recent patch for IndVarSimplify.cpp
llvm-svn: 37838
2007-07-02 08:02:14 +00:00
Evan Cheng
bf3744d05b New test.
llvm-svn: 37823
2007-06-29 23:17:15 +00:00
Evan Cheng
f07b7f27f2 New test.
llvm-svn: 37815
2007-06-29 21:40:30 +00:00