Chris Lattner
|
cd13979300
|
Duncan deftly points out that readnone functions aren't
invalidated by stores, so they can be handled as 'simple'
operations.
llvm-svn: 122785
|
2011-01-03 23:38:13 +00:00 |
|
Chris Lattner
|
c1ebe702b1
|
earlycse can do trivial with-a-block dead store
elimination as well. This deletes 60 stores in 176.gcc
that largely come from bitfield code.
llvm-svn: 122736
|
2011-01-03 04:17:24 +00:00 |
|
Chris Lattner
|
d19ae32f2f
|
now that loads are in their own table, we can implement
store->load forwarding. This allows EarlyCSE to zap 600 more
loads from 176.gcc.
llvm-svn: 122732
|
2011-01-03 03:46:34 +00:00 |
|
Chris Lattner
|
57b02a342e
|
add a testcase for readonly call CSE
llvm-svn: 122730
|
2011-01-03 03:33:47 +00:00 |
|
Chris Lattner
|
4cfdaa3f02
|
Teach EarlyCSE to do trivial CSE of loads and read-only calls.
On 176.gcc, this catches 13090 loads and calls, and increases the
number of simple instructions CSE'd from 29658 to 36208.
llvm-svn: 122727
|
2011-01-03 03:18:43 +00:00 |
|
Chris Lattner
|
39d1fb3320
|
add DEBUG and -stats output to earlycse.
Teach it to CSE the rest of the non-side-effecting instructions.
llvm-svn: 122716
|
2011-01-02 23:19:45 +00:00 |
|
Chris Lattner
|
dbad0b5e40
|
Enhance earlycse to do CSE of casts, instsimplify and die.
Add a testcase.
llvm-svn: 122715
|
2011-01-02 23:04:14 +00:00 |
|