Commit Graph

1067 Commits

Author SHA1 Message Date
Andrew Lenharth
e454200b95 Inspired by the linux kernel, the more we keep adds in the pointer realm, the better pointer analysis works.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30495 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-19 18:23:39 +00:00
Chris Lattner
d0b9983d27 number test right
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30484 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-19 06:19:19 +00:00
Chris Lattner
298c7e303d make this harder
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30481 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-19 06:17:55 +00:00
Chris Lattner
935a10d5dc new testcases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30480 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-19 06:16:46 +00:00
Nick Lewycky
b46de1b0c0 Enable dejagnu tests for predicate simplifier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30475 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-19 00:31:54 +00:00
Chris Lattner
87b1232d81 new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30458 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-18 07:01:39 +00:00
Chris Lattner
e04deb9914 new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30455 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-18 05:25:10 +00:00
Chris Lattner
2f88a1bbbe New testcase, can be an srl instead of sra
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30449 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-18 04:31:18 +00:00
Chris Lattner
e5833b3215 Testcase for PR913
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30404 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-16 03:13:22 +00:00
Chris Lattner
42fe4957a9 xfail this for now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30398 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-15 17:25:22 +00:00
Chris Lattner
36cc500f3b The inliner strips dead allocas now. Add a use to allow this test to
test the right thing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30393 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-15 16:53:11 +00:00
Chris Lattner
54ae241ed4 new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30302 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-13 19:23:43 +00:00
Chris Lattner
431a80ade7 testcase for PR908
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30274 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-12 19:16:04 +00:00
Chris Lattner
c42354904e new testcase for PR905
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30265 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-11 21:41:56 +00:00
Nick Lewycky
dc08cd56c4 Replace EquivalenceClasses with a custom-built data structure. Many common
operations (like findProperties) should be faster, at the expense of
unionSets being slower in cases that are rare in practise.

Don't erase a dead Instruction. This fixes a memory corruption issue.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30235 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-10 02:27:07 +00:00
Chris Lattner
4b78a54f38 new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30233 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-09 22:02:25 +00:00
Chris Lattner
bbf4636200 new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30229 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-09 20:26:04 +00:00
Chris Lattner
3d222b9ace new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30157 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-07 21:29:32 +00:00
Owen Anderson
8dfd0f088e Make this testcase actually recursive. I accidentally committed the wrong copy last time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30059 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-02 22:46:58 +00:00
Owen Anderson
b833e5ac3f Make ArgumentPromotion handle recursive functions that pass pointers in their recursive calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30057 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-02 21:19:44 +00:00
Nick Lewycky
a3a68bde21 Improve handling of SelectInst.
Reorder operations to remove duplicated work.
Fix to leave floating-point types out of the optimization.
Add tests to predsimplify.ll for SwitchInst and SelectInst handling.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30055 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-02 19:40:38 +00:00
Nick Lewycky
838f36f0bb This program crashes the PredicateSimplifier. Not marked XFAIL because
the PredicateSimplifier is skipped in make check anyways.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29992 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-31 03:13:05 +00:00
Nick Lewycky
05450ae128 Add PredicateSimplifier pass. Collapses equal variables into one form
and simplifies expressions. This implements the optimization described
in PR807.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29947 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-28 22:44:55 +00:00
Chris Lattner
21a82e6fc7 opt no longer reads .ll files. Run llvm-as explicitly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29924 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-27 22:41:58 +00:00
Owen Anderson
3b53c4ee91 Implement unrolling of multiblock loops. This significantly improves the
utility of the LoopUnroll pass.

Also, add a testcase for multiblock-loop unrolling.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29859 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-24 21:28:19 +00:00
Reid Spencer
fd90dd5d55 For PR872:
Shrinkify LLVM's footprint by removing the analyze tool and moving its
functionality into the opt tool. THis eliminates one of the largest tools
from LLVM and doesn't make opt much bigger because it already included
most of the analysis passes.  To get the old analyze functionality pass
the -analyze option to opt. Note that the integeration here is dead
simple. The "main" of analyze was just copied to opt and invoked if the
-analyze option was given. There may be opportunities for further
integration such as removing the distinction between transform passes
and analysis passes.

To use the analysis functionality, if you previously did this:
  analyze $FNAME -domset -disable-verify
you would now do this:
  opt -analyze $FNAME -domset -disable-verify
Pretty simple.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29762 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-18 06:34:30 +00:00
Chris Lattner
a7174736fa new testcase from PR877
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29672 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 21:37:32 +00:00
Chris Lattner
9289b637a4 New testcase, this used to take hours to loopsimplify.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29646 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-12 05:23:27 +00:00
Chris Lattner
006f2d0afd new testcase for pr867
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29514 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-03 21:39:41 +00:00
Chris Lattner
2ade22835e testcase for PR827
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29119 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-12 18:27:13 +00:00
Chris Lattner
e5ff22e605 Add tests for 16-bit byteswaps.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29086 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-10 20:25:01 +00:00
Owen Anderson
bfd4dab888 Add a test for the LCSSA issue I just fixed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29077 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-09 08:17:30 +00:00
Chris Lattner
e89121be21 Testcase for PR820
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29070 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-07 21:36:42 +00:00
Chris Lattner
f363ce2de7 Infinite loop in instcombine that nate hit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28960 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-28 17:34:28 +00:00
Chris Lattner
4ba6bf7458 New testcase, reduced by nate, which crashes DSE
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28949 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-27 23:47:39 +00:00
Owen Anderson
2f62a9eb2e Testcase that Nate found where LoopUnswitch chokes on eliminating a dead case
from a switch instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28946 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-27 22:24:59 +00:00
Chris Lattner
a60af32287 testcase that crashes dead arg elim.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28942 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-27 20:58:41 +00:00
Chris Lattner
98c3e1cc92 new testcase that crashes indvars
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28849 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-17 01:01:30 +00:00
Chris Lattner
c0ea2335f3 new testcase, instcombine should turn these into llvm.bswap intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28802 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-15 19:06:42 +00:00
Chris Lattner
2c54676d70 new testcase, distilled from povray
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28778 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-14 04:45:45 +00:00
Chris Lattner
b2035f2287 TEstcase that makes simplifycfg infloop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28757 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-12 20:17:44 +00:00
Owen Anderson
b083af6448 Make sure that LCSSA works properly when it encounters an exit block that has
more than one predecessor inside the loop.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28749 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-12 07:05:47 +00:00
Owen Anderson
32a90f85af Update the regression tests, and add a new one encountered while compiling crtend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28681 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-04 00:56:30 +00:00
Chris Lattner
29c312300e testcase for the recent inliner improvement.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28643 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-01 21:54:58 +00:00
Owen Anderson
f49748730e Require both tests to pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28531 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-29 01:28:16 +00:00
Owen Anderson
6894526189 Update the testcase to check the full extent of LCSSA.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28530 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-29 01:07:04 +00:00
Chris Lattner
5ca32a6d6c New testcase: check that the inliner constant folds instructions on the
fly if it can.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28515 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-27 01:16:22 +00:00
Owen Anderson
22cf8b118e Trivial testcase that LCSSA can already handle.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28508 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-26 21:59:20 +00:00
Chris Lattner
0102587f2a New testcase for trivial DSE
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28502 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-26 19:18:40 +00:00
Chris Lattner
8e8a511b58 new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28486 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-25 23:23:22 +00:00