Chris Lattner
7c94454c56
new testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31283 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-29 21:20:56 +00:00
Nick Lewycky
7a2ed81f08
Emitting raw bytecode is awfully rude. Add -disable-output.
...
Clarify the test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31251 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-28 02:34:41 +00:00
Reid Spencer
f5d913409d
Improve cvs ignoring of test results.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31217 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-27 16:43:34 +00:00
Chris Lattner
9290885e6a
new testcase, should not reassoc fp vector
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31199 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-26 18:26:53 +00:00
Reid Spencer
1628cec4d7
For PR950:
...
Make necessary changes to support DIV -> [SUF]Div. This changes llvm to
have three division instructions: signed, unsigned, floating point. The
bytecode and assembler are bacwards compatible, however.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31195 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-26 06:15:43 +00:00
Nick Lewycky
30b3b1cd9c
Handling of setlt/le/gt/ge is broken at the moment; predsimplify removes
...
the call the pass2.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31192 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-26 02:33:51 +00:00
Nick Lewycky
aa596f3568
This testcase was logically wrong! Fixing, and including the test for the
...
mistake that I made in the file too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31190 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-26 00:51:58 +00:00
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