Nick Lewycky
565706b93e
Update to new predicate simplifier VRP design. Fixes PR966 and PR967.
...
Remove predicate simplifier from default gcc3 pipeline. New design is too
slow to enable by default.
Add new testcases for problems encountered in development.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31895 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-22 23:49:16 +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
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
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
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
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
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
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
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