Commit Graph

1083 Commits

Author SHA1 Message Date
Chris Lattner
b0d6dbfd7c New testcase that crashes scalarrepl
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31150 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-24 06:26:08 +00:00
Chris Lattner
e285d59ee6 new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31131 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-23 18:54:35 +00:00
Nick Lewycky
5062250f36 Handle "if ((x|y) != 0)" for ints like we do for bools. Fixes missed
optimization opportunity pointed out by Chris Lattner.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31118 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-22 21:36:41 +00:00
Nick Lewycky
802fe27d3e AllocaInst can't return a null pointer. Fixes missed optimization
opportunity pointed out by Andrew Lewycky.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31115 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-22 19:53:27 +00:00
Devang Patel
9eb43f2064 Test case for
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20061016/038780.html


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31068 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-20 18:06:37 +00:00
Chris Lattner
8a53688a13 new testcase for PR957
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31060 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-20 00:41:31 +00:00
Devang Patel
002e499650 It is OK to remove extra cast if operation is EQ/NE even though source
and destination sign may not match but other conditions are met.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31056 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-19 20:59:13 +00:00
Devang Patel
6ce890b6ec Fix bug in PR454 resolution. Added new test case.
This fixes llvmAsmParser.cpp miscompile by llvm on PowerPC Darwin.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31053 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-19 18:54:08 +00:00
Chris Lattner
eab5bd32b6 new testcase for PR892
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30824 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-08 23:52:06 +00:00
Chris Lattner
fc1dfd4137 new testcase for SROA for stuff like "union { int*, float* }".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30822 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-08 23:27:37 +00:00
Chris Lattner
ce0420e65c new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30751 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-05 06:51:54 +00:00
Nick Lewycky
5c8c5d9ace Move break-crit-edges before the predicate simplifier. Allows us to
optimize in more cases.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30699 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-03 14:52:23 +00:00
Chris Lattner
537cf962d1 new testcase, malloc should be promoted to [2 x double].
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30681 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-01 19:39:45 +00:00
Chris Lattner
7ffc328e97 new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30554 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-21 05:11:01 +00:00
Nick Lewycky
af2f1fe94e Once we're down to "setcc type constant1, constant2", at least come up
with the right answer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30550 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-20 23:02:24 +00:00
Nick Lewycky
406fc0cb49 Use a total ordering to compare instructions.
Fixes infinite loop in resolve().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30540 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-20 17:04:01 +00:00
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