Commit Graph

4154 Commits

Author SHA1 Message Date
Devang Patel
28ae151c48 Update dominator info for the middle blocks created while spliting
exit edge to preserve LCSSA.

Fix dominance frontier update during loop unswitch. This fixes PR 1589.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40695 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-01 22:23:50 +00:00
Evan Cheng
911935a068 New test. Bogus implicit-def prevented a copy from being coalesced.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40690 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-01 20:26:40 +00:00
Lauro Ramos Venancio
dd487c159b Add a test for the load/store alignment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40687 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-01 20:07:59 +00:00
Lauro Ramos Venancio
f3c13c82e3 Expand unaligned loads/stores when the target doesn't support them. (PR1548)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40682 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-01 19:34:21 +00:00
Christopher Lamb
4eda058550 Clean up C++ restrict test cases and add a test for restrict qualified methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40681 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-01 18:48:29 +00:00
Chris Lattner
695e1c69a8 these tests aren't xfailed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40680 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-01 18:37:44 +00:00
Chris Lattner
b59e985cdb we're now handling this right :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40675 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-01 17:10:30 +00:00
Owen Anderson
268479f454 Forgot to update these files for the FastDSE changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40674 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-01 16:53:51 +00:00
Owen Anderson
f6a05f949f Rename FastDSE to just DSE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40668 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-01 06:36:51 +00:00
Evan Cheng
ad076727f8 Requires SSE2.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40657 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-01 00:10:12 +00:00
Owen Anderson
b95f9d565f Fix a failure I accidentally caused in my last commit by mishandling the
removal of redundant phis.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40650 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 20:18:28 +00:00
Lauro Ramos Venancio
c7d1114ade Fix a bug in GetKnownAlignment of packed structs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40649 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 20:13:21 +00:00
Dan Gohman
b1576f56c8 Change the x86 assembly output to use tab characters to separate the
mnemonics from their operands instead of single spaces. This makes the
assembly output a little more consistent with various other compilers
(f.e. GCC), and slightly easier to read. Also, update the regression
tests accordingly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40648 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 20:11:57 +00:00
Owen Anderson
054ab94bff Fix a misoptimization in aha.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40642 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 17:43:14 +00:00
Chris Lattner
4330b3a3c2 new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40636 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 16:18:25 +00:00
Christopher Lamb
321ff4e6d5 Revert overly aggressive interpretation of noalias
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40635 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 16:18:07 +00:00
Devang Patel
fee0a9c7ef Bunch of tests to check loop passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40629 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 08:04:17 +00:00
Evan Cheng
c64a1a921c Redo and generalize previously removed opt for pinsrw: (vextract (v4i32 bc (v4f32 s2v (f32 load ))), 0) -> (i32 load )
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40628 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 08:04:03 +00:00
Christopher Lamb
50192c2152 Teach BasicAA about noalias function parameters. Passes all of DejaGNU and test-suite.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40624 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 07:04:51 +00:00
Christopher Lamb
66ca0bc73a Un-XFAIL these tests after r40622 fixed them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40623 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 07:03:24 +00:00
Reid Spencer
1d3d230861 For PR1553:
Make the AsmParser auto-upgrade the old zext and sext
keywords for parameter attributes and handle the 
end-of-line ambiguity.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40610 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 02:57:37 +00:00
Dan Gohman
be444ed6db Fix a bug in getCopyFromParts turned up in the testcase for PR1132.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40598 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-30 19:09:17 +00:00
Owen Anderson
4f9ba7c40c Fix a bug caused by indiscriminantly asking for the dominators of a predecessor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40595 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-30 16:57:08 +00:00
Evan Cheng
a5e496ff07 New test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40587 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-30 07:52:03 +00:00
Christopher Lamb
db9530599e Add tests for generating noalias parameter attribute from __restrict qualified function parameters. C++ tests are currently XFAILing see PR1582.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40583 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-29 23:29:16 +00:00
Reid Spencer
6551606a99 Be explicit about which level of optimization is being asked for. The -O option
is equivalent to -O1.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40581 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-29 18:23:22 +00:00
Nick Lewycky
8127f3a6e6 Make this explictly signed. Fixes PR1571.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40569 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-28 16:43:10 +00:00
Dan Gohman
d300622eba 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40555 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-27 17:16:43 +00:00
Evan Cheng
3e22947d9a Reverting 40504 for now. It's breaking oggenc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40547 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-27 01:37:47 +00:00
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