Evan Cheng
|
2922641a7e
|
Fix a logic error. An instruction that has a live physical register def cannot be CSE'ed, but it *can* be used to replace a common subexpression.
llvm-svn: 97688
|
2010-03-03 23:59:08 +00:00 |
|
Evan Cheng
|
0abbb399c9
|
Re-apply r97667 but with a little bit of thought put into the patch. This implements a special DenseMapInfo trait for DenseMap<MachineInstr*> that compare the value of the MachineInstr rather than the pointer value. Since the hashing and equality test functions ignore defs it's useful for doing CSE kind optimization.
llvm-svn: 97678
|
2010-03-03 23:27:36 +00:00 |
|
Dan Gohman
|
a791914e2c
|
Revert 97667. It broke a bunch of tests.
llvm-svn: 97673
|
2010-03-03 22:40:03 +00:00 |
|
Evan Cheng
|
0dd0c47b7e
|
Move DenseMapInfo for MachineInstr* to MachineInstr.h
llvm-svn: 97667
|
2010-03-03 21:47:16 +00:00 |
|
Evan Cheng
|
b386cd3871
|
Machine CSE work in progress. It's doing some CSE now. But implicit def of physical registers are getting in the way.
llvm-svn: 97664
|
2010-03-03 21:20:05 +00:00 |
|
Evan Cheng
|
4eab008b5a
|
Work in progress. Finding some cse now.
llvm-svn: 97635
|
2010-03-03 02:48:20 +00:00 |
|
Evan Cheng
|
10194a425c
|
Fix typo.
llvm-svn: 97577
|
2010-03-02 19:02:27 +00:00 |
|
Evan Cheng
|
036aa49d2e
|
Add skeleton of a machine level cse pass.
llvm-svn: 97543
|
2010-03-02 02:38:24 +00:00 |
|