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