Bill Wendling
|
2017097bb8
|
Add that this preserves some analyses.
llvm-svn: 45573
|
2008-01-04 08:48:49 +00:00 |
|
Bill Wendling
|
13eb1bfc08
|
Move option to enable machine LICM into LLVMTargetMachine.cpp.
llvm-svn: 45572
|
2008-01-04 08:11:03 +00:00 |
|
Bill Wendling
|
da5d32e248
|
Call the parent's getAnalysisUsage.
llvm-svn: 45571
|
2008-01-04 07:50:05 +00:00 |
|
Chris Lattner
|
b02b90a8f6
|
remove dead #includes and reorder the rest.
llvm-svn: 45569
|
2008-01-04 06:41:45 +00:00 |
|
Bill Wendling
|
c677923991
|
Use the correct MachineRegisterInfo object.
llvm-svn: 45499
|
2008-01-02 21:10:54 +00:00 |
|
Bill Wendling
|
005b47c20c
|
Remove dead code.
llvm-svn: 45496
|
2008-01-02 20:47:37 +00:00 |
|
Bill Wendling
|
5843183ca2
|
Use the new architecture to get the containing machine basic block for a machine
instruction. Also, use "splice" to move the new instruction instead of
remove/insert (where it was leaking memory anyway).
llvm-svn: 45492
|
2008-01-02 19:32:43 +00:00 |
|
Chris Lattner
|
ad9a6ccb83
|
Remove attribution from file headers, per discussion on llvmdev.
llvm-svn: 45418
|
2007-12-29 20:36:04 +00:00 |
|
Bill Wendling
|
cba1938285
|
Updated comments to reflect what "side effects" means in this situation.
llvm-svn: 45245
|
2007-12-20 01:08:10 +00:00 |
|
Bill Wendling
|
fe0e399130
|
Add debugging info. Use the newly created "hasUnmodelledSideEffects" method.
llvm-svn: 45178
|
2007-12-18 21:38:04 +00:00 |
|
Bill Wendling
|
20a11adc5e
|
Need to grow the indexed map. Added debug statements.
llvm-svn: 44892
|
2007-12-11 23:27:51 +00:00 |
|
Bill Wendling
|
c92c27f928
|
Simplify slightly.
llvm-svn: 44881
|
2007-12-11 22:22:22 +00:00 |
|
Bill Wendling
|
9f0bcd67cf
|
Blark! How in the world did this work without this?!
llvm-svn: 44874
|
2007-12-11 19:40:06 +00:00 |
|
Bill Wendling
|
30281897da
|
- Update the virtual reg to machine instruction map when hoisting.
- Fix subtle bug when creating initially creating this map.
llvm-svn: 44873
|
2007-12-11 19:17:04 +00:00 |
|
Bill Wendling
|
9f02f24469
|
Checking for "zero operands" during the "CanHoistInst()" method isn't necessary
because those with side effects will be caught by other checks in here.
Also, simplify the check for a BB in a sub loop.
llvm-svn: 44871
|
2007-12-11 18:45:11 +00:00 |
|
Bill Wendling
|
8d8d9a2f5e
|
Reverting 44702. It wasn't correct to rename them.
llvm-svn: 44727
|
2007-12-08 23:58:46 +00:00 |
|
Bill Wendling
|
d10837def7
|
Renaming:
isTriviallyReMaterializable -> hasNoSideEffects
isReallyTriviallyReMaterializable -> isTriviallyReMaterializable
llvm-svn: 44702
|
2007-12-08 07:17:56 +00:00 |
|
Bill Wendling
|
3c6bac9686
|
Incorporated comments from Evan and Chris:
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20071203/056043.html
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20071203/056048.html
llvm-svn: 44696
|
2007-12-08 01:47:01 +00:00 |
|
Bill Wendling
|
c08dedb060
|
Initial commit of the machine code LICM pass. It successfully hoists this:
_foo:
li r2, 0
LBB1_1: ; bb
li r5, 0
stw r5, 0(r3)
addi r2, r2, 1
addi r3, r3, 4
cmplw cr0, r2, r4
bne cr0, LBB1_1 ; bb
LBB1_2: ; return
blr
to:
_foo:
li r2, 0
li r5, 0
LBB1_1: ; bb
stw r5, 0(r3)
addi r2, r2, 1
addi r3, r3, 4
cmplw cr0, r2, r4
bne cr0, LBB1_1 ; bb
LBB1_2: ; return
blr
ZOMG!! :-)
Moar to come...
llvm-svn: 44687
|
2007-12-07 21:42:31 +00:00 |
|