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
Chris Lattner
78b3c420b2
new testcases
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28484 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-25 22:52:49 +00:00
Chris Lattner
45df8e2d23
The patch corresponding to this test had to be reverted as unsafe.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28479 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-25 21:25:54 +00:00
Chris Lattner
b464997bba
Testcase for a new instcombine xform, patch contributed by Nick Lewycky!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28449 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-24 17:34:02 +00:00
Chris Lattner
5250bae5ee
New testcase for instcombine
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28272 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-13 02:00:07 +00:00
Chris Lattner
99266d81a2
New testcase, check that dead code doesn't pessimize instcombine
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28214 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-10 18:56:04 +00:00
Chris Lattner
eaee5f5652
This test passes now, remove xfail marker
...
Change test to be a positive test instead of a negative test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28159 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-07 18:16:31 +00:00
Chris Lattner
985906323f
new testcase from ghostscript that inf looped instcombine
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28140 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-06 08:58:06 +00:00
Chris Lattner
a0771b8020
New testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28125 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-05 06:38:40 +00:00
Chris Lattner
2942da747c
new testcase that crashes the instcombine pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28100 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-04 17:33:24 +00:00
Chris Lattner
c624b5a049
new testcase miscompiled by instcombine
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28018 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-28 22:17:20 +00:00
Chris Lattner
86175f47b6
new testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28006 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-28 04:14:29 +00:00
Chris Lattner
011ec7f29c
This should turn into one vector shuffle instruction.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27996 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-27 21:13:58 +00:00
Chris Lattner
3e0d4b9810
new testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27981 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-26 18:32:59 +00:00
Chris Lattner
bcce6c2a0f
new testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27911 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-20 20:48:32 +00:00
Andrew Lenharth
3b9adf8864
can we cast between pointers and IntPtrType
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27879 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-20 14:54:17 +00:00
Chris Lattner
d8f5bd3988
New testcase, checking to see we can turn this code:
...
void test(vector float *F, float f) {
vector float G = *F + *F;
*((float*)&G) = f;
*F = G + G;
}
void test2(vector float *F, float f) {
vector float G = *F + *F;
((float*)&G)[2] = f;
*F = G + G;
}
void test3(vector float *F, float *f) {
vector float G = *F + *F;
*f = ((float*)&G)[2];
}
void test4(vector float *F, float *f) {
vector float G = *F + *F;
*f = *((float*)&G);
}
into insert/extract element operations with no memory traffic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27709 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-14 21:41:54 +00:00
Chris Lattner
b04d993d72
new testcase, vector operations should be CSE'd
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27690 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-14 05:09:53 +00:00
Tanya Lattner
9727555859
Added the ability to xfail based on llvmgcc version
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27635 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-12 21:57:40 +00:00
Chris Lattner
23405aa73d
These casts should turn into gep instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27618 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-12 18:07:41 +00:00
Chris Lattner
0bb1681337
new testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27572 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-10 23:06:18 +00:00
Chris Lattner
7205684fa5
New testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27570 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-10 22:45:37 +00:00
Chris Lattner
ff1a14aba9
New testcase that caused instcombine to infinitely loop (with my recent
...
patch), distilled from Applications/JM/ldecod
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27329 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-01 22:04:40 +00:00