Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Tidy up several unbeseeming casts from pointer to intptr_t. | Dan Gohman | 2008-09-04 | 1 | -1/+1 |
| | | | | llvm-svn: 55779 | ||||
* | Cosmetic changes to Machine LICM. No functionality change. | Bill Wendling | 2008-08-31 | 1 | -31/+36 |
| | | | | llvm-svn: 55578 | ||||
* | Don't hoist instructions that define a physical register. | Bill Wendling | 2008-08-20 | 1 | -1/+8 |
| | | | | llvm-svn: 55074 | ||||
* | Don't hoist instructions that have implicit uses or defines. Before, it was | Bill Wendling | 2008-08-18 | 1 | -0/+5 |
| | | | | | | hoisting out some "test" and "cmp" instructions. This was obvious badness. llvm-svn: 54908 | ||||
* | Prevent option name conflict. | Bill Wendling | 2008-07-07 | 1 | -1/+1 |
| | | | | llvm-svn: 53166 | ||||
* | Clean up the use of static and anonymous namespaces. This turned up | Dan Gohman | 2008-05-13 | 1 | -4/+4 |
| | | | | | | | several things that were neither in an anonymous namespace nor static but not intended to be global. llvm-svn: 51017 | ||||
* | Revert the previous commit. Go ahead and hoist rematerializable instructions. | Bill Wendling | 2008-05-12 | 1 | -4/+0 |
| | | | | llvm-svn: 50990 | ||||
* | One real change - don't hoist something that's trivially rematerializable. It's | Bill Wendling | 2008-05-12 | 1 | -18/+19 |
| | | | | | | | | possible for it to produce worse code than before. The rest of this patch is code cleanup. llvm-svn: 50987 | ||||
* | Minor cleanup. No functionality change. | Bill Wendling | 2008-03-10 | 1 | -6/+8 |
| | | | | llvm-svn: 48142 | ||||
* | Rename PrintableName to Name. | Bill Wendling | 2008-02-26 | 1 | -2/+2 |
| | | | | llvm-svn: 47629 | ||||
* | Change "Name" to "AsmName" in the target register info. Gee, a refactoring tool | Bill Wendling | 2008-02-26 | 1 | -2/+2 |
| | | | | | | would have been a Godsend here! llvm-svn: 47625 | ||||
* | Rename MRegisterInfo to TargetRegisterInfo. | Dan Gohman | 2008-02-10 | 1 | -6/+6 |
| | | | | llvm-svn: 46930 | ||||
* | Simplify the side effect stuff a bit more and make licm/sinking | Chris Lattner | 2008-01-10 | 1 | -5/+22 |
| | | | | | | | | | | | | | | | | both work right according to the new flags. This removes the TII::isReallySideEffectFree predicate, and adds TII::isInvariantLoad. It removes NeverHasSideEffects+MayHaveSideEffects and adds UnmodeledSideEffects as machine instr flags. Now the clients can decide everything they need. I think isRematerializable can be implemented in terms of the flags we have now, though I will let others tackle that. llvm-svn: 45843 | ||||
* | rename TargetInstrDescriptor -> TargetInstrDesc. | Chris Lattner | 2008-01-07 | 1 | -4/+4 |
| | | | | | | | Make MachineInstr::getDesc return a reference instead of a pointer, since it can never be null. llvm-svn: 45695 | ||||
* | Rename MachineInstr::getInstrDescriptor -> getDesc(), which reflects | Chris Lattner | 2008-01-07 | 1 | -8/+6 |
| | | | | | | | | | | | | | | | that it is cheap and efficient to get. Move a variety of predicates from TargetInstrInfo into TargetInstrDescriptor, which makes it much easier to query a predicate when you don't have TII around. Now you can use MI->getDesc()->isBranch() instead of going through TII, and this is much more efficient anyway. Not all of the predicates have been moved over yet. Update old code that used MI->getInstrDescriptor()->Flags to use the new predicates in many places. llvm-svn: 45674 | ||||
* | Add that this preserves some analyses. | Bill Wendling | 2008-01-04 | 1 | -1/+3 |
| | | | | llvm-svn: 45573 | ||||
* | Move option to enable machine LICM into LLVMTargetMachine.cpp. | Bill Wendling | 2008-01-04 | 1 | -10/+0 |
| | | | | llvm-svn: 45572 | ||||
* | Call the parent's getAnalysisUsage. | Bill Wendling | 2008-01-04 | 1 | -0/+1 |
| | | | | llvm-svn: 45571 | ||||
* | remove dead #includes and reorder the rest. | Chris Lattner | 2008-01-04 | 1 | -10/+6 |
| | | | | llvm-svn: 45569 | ||||
* | Use the correct MachineRegisterInfo object. | Bill Wendling | 2008-01-02 | 1 | -2/+1 |
| | | | | llvm-svn: 45499 | ||||
* | Remove dead code. | Bill Wendling | 2008-01-02 | 1 | -35/+0 |
| | | | | llvm-svn: 45496 | ||||
* | Use the new architecture to get the containing machine basic block for a machine | Bill Wendling | 2008-01-02 | 1 | -28/+28 |
| | | | | | | | instruction. Also, use "splice" to move the new instruction instead of remove/insert (where it was leaking memory anyway). llvm-svn: 45492 | ||||
* | Remove attribution from file headers, per discussion on llvmdev. | Chris Lattner | 2007-12-29 | 1 | -2/+2 |
| | | | | llvm-svn: 45418 | ||||
* | Updated comments to reflect what "side effects" means in this situation. | Bill Wendling | 2007-12-20 | 1 | -10/+3 |
| | | | | llvm-svn: 45245 | ||||
* | Add debugging info. Use the newly created "hasUnmodelledSideEffects" method. | Bill Wendling | 2007-12-18 | 1 | -21/+38 |
| | | | | llvm-svn: 45178 | ||||
* | Need to grow the indexed map. Added debug statements. | Bill Wendling | 2007-12-11 | 1 | -21/+27 |
| | | | | llvm-svn: 44892 | ||||
* | Simplify slightly. | Bill Wendling | 2007-12-11 | 1 | -3/+4 |
| | | | | llvm-svn: 44881 | ||||
* | Blark! How in the world did this work without this?! | Bill Wendling | 2007-12-11 | 1 | -4/+9 |
| | | | | llvm-svn: 44874 | ||||
* | - Update the virtual reg to machine instruction map when hoisting. | Bill Wendling | 2007-12-11 | 1 | -2/+12 |
| | | | | | | - Fix subtle bug when creating initially creating this map. llvm-svn: 44873 | ||||
* | Checking for "zero operands" during the "CanHoistInst()" method isn't necessary | Bill Wendling | 2007-12-11 | 1 | -11/+4 |
| | | | | | | | | 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 | ||||
* | Reverting 44702. It wasn't correct to rename them. | Bill Wendling | 2007-12-08 | 1 | -13/+13 |
| | | | | llvm-svn: 44727 | ||||
* | Renaming: | Bill Wendling | 2007-12-08 | 1 | -1/+1 |
| | | | | | | | isTriviallyReMaterializable -> hasNoSideEffects isReallyTriviallyReMaterializable -> isTriviallyReMaterializable llvm-svn: 44702 | ||||
* | Incorporated comments from Evan and Chris: | Bill Wendling | 2007-12-08 | 1 | -58/+54 |
| | | | | | | | 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 | ||||
* | Initial commit of the machine code LICM pass. It successfully hoists this: | Bill Wendling | 2007-12-07 | 1 | -0/+336 |
_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 |