Owen Anderson
|
bc271a02fd
|
Eliminate PHI nodes with constant values during normal GVN processing, even when
they're not related to eliminating a load.
llvm-svn: 41081
|
2007-08-14 18:33:27 +00:00 |
Owen Anderson
|
398602a6eb
|
Be more aggressive in pruning unnecessary PHI nodes when doing PHI construction.
llvm-svn: 41080
|
2007-08-14 18:16:29 +00:00 |
Owen Anderson
|
676070d503
|
Make GVN iterative.
llvm-svn: 41078
|
2007-08-14 18:04:11 +00:00 |
Owen Anderson
|
a7b220f23a
|
Fix a case where GVN was failing to return true when it had, in fact, modified
the function.
llvm-svn: 41077
|
2007-08-14 17:59:48 +00:00 |
Owen Anderson
|
9b1cc8cac0
|
Make NonLocal and None const in the right way. :-)
llvm-svn: 40961
|
2007-08-09 04:42:44 +00:00 |
Owen Anderson
|
b84d3b1c92
|
Change the None and NonLocal markers in memdep to be const.
llvm-svn: 40946
|
2007-08-08 21:39:39 +00:00 |
Owen Anderson
|
0cc1a76283
|
Don't insert nearly as many redundant phi nodes.
llvm-svn: 40909
|
2007-08-07 23:12:31 +00:00 |
Owen Anderson
|
2d19aae4ca
|
Fix a subtle miscompilation. This allows 197.parser to be compiled correctly.
llvm-svn: 40791
|
2007-08-03 19:59:35 +00:00 |
Owen Anderson
|
774761c503
|
Fix a subtle iterator invalidation bug in a recursive algorithm.
llvm-svn: 40776
|
2007-08-03 11:03:26 +00:00 |
Owen Anderson
|
9699a6ea03
|
Fix 80 col. violations.
llvm-svn: 40750
|
2007-08-02 18:16:06 +00:00 |
Owen Anderson
|
0ac1fc8ac1
|
Fix a bug that was causing several miscompilations on SPEC.
llvm-svn: 40746
|
2007-08-02 17:56:05 +00:00 |
Owen Anderson
|
c321e5e272
|
Make non-local memdep not be recursive, and fix a bug on 403.gcc that this exposed.
llvm-svn: 40692
|
2007-08-01 22:01:54 +00:00 |
Owen Anderson
|
10ffa860d8
|
Don't let the memory allocator outsmart GVN. ;-)
llvm-svn: 40655
|
2007-07-31 23:27:13 +00:00 |
Owen Anderson
|
2464f4f048
|
Fix a failure I accidentally caused in my last commit by mishandling the
removal of redundant phis.
llvm-svn: 40650
|
2007-07-31 20:18:28 +00:00 |
Owen Anderson
|
d58fa6b09f
|
Fix a misoptimization in aha.
llvm-svn: 40642
|
2007-07-31 17:43:14 +00:00 |
Owen Anderson
|
850138157e
|
Avoid potential iterator invalidation problems.
llvm-svn: 40607
|
2007-07-30 21:26:39 +00:00 |
Owen Anderson
|
212d5c27f6
|
Use more caching when computing non-local dependence. This makes bzip2 not
use up the entire 32-bit address space.
llvm-svn: 40596
|
2007-07-30 17:29:24 +00:00 |
Owen Anderson
|
d66e285b2e
|
Fix a bug caused by indiscriminantly asking for the dominators of a predecessor.
llvm-svn: 40595
|
2007-07-30 16:57:08 +00:00 |
Owen Anderson
|
dbf23ccaa0
|
Fix a couple more bugs in the phi construction by pulling in code that does
almost the same things from LCSSA.
llvm-svn: 40540
|
2007-07-26 18:26:51 +00:00 |
Owen Anderson
|
3b8cc30a61
|
Fix what is _hopefully_ the last corner case for loops.
llvm-svn: 40503
|
2007-07-25 23:54:42 +00:00 |
Owen Anderson
|
8707412593
|
My last commit was not correct for nested loops. Fix it, and add a testcase for it.
llvm-svn: 40498
|
2007-07-25 22:19:40 +00:00 |
Owen Anderson
|
3c67004d47
|
Fix an infinite loop on 300.twolf.
llvm-svn: 40497
|
2007-07-25 22:03:06 +00:00 |
Owen Anderson
|
7bf26ee444
|
Fix a bug that was causing GVN to crash on 252.eon.
llvm-svn: 40494
|
2007-07-25 21:13:41 +00:00 |
Owen Anderson
|
5e5599b7ce
|
Add basic support for performing whole-function RLE.
Note: This has not yet been thoroughly tested. Use at your own risk.
llvm-svn: 40489
|
2007-07-25 19:57:03 +00:00 |
Owen Anderson
|
ab6ec2eac2
|
Add a GVN pass, using the value numbering code I developed for GVNPRE and the
load elimination code from RedundantLoadElimination.
llvm-svn: 40469
|
2007-07-24 17:55:58 +00:00 |