Commit Graph

4125 Commits

Author SHA1 Message Date
Owen Anderson
a377a24771 Fix a bug introduced in my last commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40542 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-26 18:57:04 +00:00
Owen Anderson
45537917ee Fix a couple more bugs in the phi construction by pulling in code that does
almost the same things from LCSSA.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40540 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-26 18:26:51 +00:00
Evan Cheng
42000ef6c7 Test case for PR1573.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40539 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-26 17:45:57 +00:00
Evan Cheng
77baf8e80e Fix test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40536 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-26 17:07:03 +00:00
Dan Gohman
d3283832aa 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40504 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-26 00:31:09 +00:00
Owen Anderson
febc7e3613 Fix what is _hopefully_ the last corner case for loops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40503 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-25 23:54:42 +00:00
Owen Anderson
9f435740b1 My last commit was not correct for nested loops. Fix it, and add a testcase for it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40498 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-25 22:19:40 +00:00
Owen Anderson
0d16988690 Fix an infinite loop on 300.twolf.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40497 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-25 22:03:06 +00:00
Owen Anderson
3dfcf33cf8 Fix a bug in non-local memdep that was causing an infinite loop on 175.vpr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40495 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-25 21:26:36 +00:00
Owen Anderson
2e3d6b4a27 Fix a bug that was causing GVN to crash on 252.eon.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40494 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-25 21:13:41 +00:00
Owen Anderson
0cd320362e Add basic support for performing whole-function RLE.
Note: This has not yet been thoroughly tested.  Use at your own risk.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40489 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-25 19:57:03 +00:00
Chandler Carruth
7e9e10bd46 Moving regression test to reflect move in source and headers to Bitcode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40488 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-25 19:47:31 +00:00
Dan Gohman
a394117bc0 Use movaps to load a v4f32 build_vector of all-constant values into a
register instead of loading each element individually.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40478 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-24 22:55:08 +00:00
Owen Anderson
1ad2cb7555 Add a GVN pass, using the value numbering code I developed for GVNPRE and the
load elimination code from RedundantLoadElimination.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40469 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-24 17:55:58 +00:00
Devang Patel
62e279bbdb Unreachable block is not a root node in post dominator tree.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40458 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-24 01:02:25 +00:00
Owen Anderson
a7f98e2919 Rename a lot of things to change FastDLE to RedundantLoadElimination.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40457 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-24 00:17:04 +00:00
Chandler Carruth
f99f3f4944 Fix for PR1567, which involves a weird bug on non-32bit architectures and silly C type sizes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40451 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23 22:42:15 +00:00
Owen Anderson
f309070ca4 Add testcases for FastDLE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40449 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23 22:18:05 +00:00
Owen Anderson
33d137f90a Move these tests to use FastDSE instead of old DSE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40444 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23 20:49:13 +00:00
Dan Gohman
63491b2e15 Delete the svn:executable property on these files, which aren't executable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40441 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23 19:26:08 +00:00
Duncan Sands
6c7ada4c58 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40437 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23 15:23:35 +00:00
Duncan Sands
1b4b25696b 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40436 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23 13:41:53 +00:00
Duncan Sands
53929871fb Remove -O1 in favour of making llvm-gcc-4.2 a bit
smarter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40391 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-22 10:25:44 +00:00
Chris Lattner
e29459e3b5 This xform isn't safe, removing it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40378 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-21 21:27:27 +00:00
Duncan Sands
3e54953c5f 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40128 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-20 22:39:06 +00:00
Dan Gohman
9941f7426d Optimize alignment of loads and stores.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40102 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-20 16:34:21 +00:00
Dan Gohman
9bc5dce98d Update these regression tests to accomodate X86InstrSSE.td now using movups/movaps
for everything.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40101 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-20 16:31:26 +00:00
Evan Cheng
7800479260 New test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40077 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-20 00:27:56 +00:00
Evan Cheng
66746741a7 New test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40073 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-19 23:53:50 +00:00
Evan Cheng
158622cca3 Try fixing it again.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40072 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-19 23:53:29 +00:00
Reid Spencer
9445e9aaa0 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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40069 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-19 23:13:04 +00:00
Bill Wendling
3b1c0994a0 Don't need the "&&" to glue lines together.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40063 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-19 18:06:26 +00:00
Duncan Sands
1d572db21e 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40050 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-19 09:38:34 +00:00
Bill Wendling
74430e7b0e Testcase for PR1549
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40041 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-19 06:31:11 +00:00
Devang Patel
a8d507d970 New test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40023 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-18 23:47:02 +00:00
Evan Cheng
ccb21fdbb6 New test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40020 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-18 21:39:16 +00:00
Dan Gohman
4106f3714e 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40015 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-18 20:23:34 +00:00
Dan Gohman
48613b930a It's not necessary to do rounding for alloca operations when the requested
alignment is equal to the stack alignment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40004 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-18 16:29:46 +00:00
Reid Spencer
531ec1e7a2 Fix this test to not rely on the path but to use the
configured llvm-gcc instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39992 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-18 04:37:24 +00:00
Evan Cheng
574470a561 Fix test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39976 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-17 18:16:09 +00:00
Tanya Lattner
c462d25776 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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39975 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-17 18:08:32 +00:00
Gabor Greif
6bd7ada32d XFAIL these on sparc-solaris
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39969 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-17 10:25:31 +00:00
Evan Cheng
89d1659cf2 Use push / pop for prologues and epilogues.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39967 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-17 07:59:08 +00:00
Reid Spencer
cb5da4a8b6 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39963 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-17 06:20:38 +00:00
Reid Spencer
63d6d7385f Remove insignificant test no longer needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39931 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-16 22:03:36 +00:00
Dan Gohman
318f0dee83 Remove the trailing semicolon from function declarations in LLVM,
where it's interpreted as a comment, not part of the syntax.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39920 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-16 13:37:30 +00:00
Chris Lattner
e2ece3f479 rename function to avoid llvm-upgrade warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39895 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-16 04:09:00 +00:00
Nick Lewycky
eefdebe002 Handle decrementing loops properly. Fixes PR1533.
Always pass the constant as the second parameter to HowManyLessThans.

Remove obsolete "isSigned" parameter.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39893 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-16 02:08:00 +00:00
Chris Lattner
04d519e160 new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39882 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-15 22:30:34 +00:00
Chris Lattner
4241e4da85 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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39880 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-15 20:54:51 +00:00