- Jul 19, 2004
-
-
Chris Lattner authored
order, causing the inactive list in the linearscan list to get unsorted, which basically fuxored everything up severely. These seems to fix the joiner, so with more testing I will enable it by default. llvm-svn: 14992
-
Chris Lattner authored
Heavily refactor handleVirtualRegisterDef, adding comments and making it more efficient. It is also much easier to follow and convince ones self that it is correct :) Add -debug output to the joine, showing the result of joining the intervals. llvm-svn: 14989
-
- Jul 17, 2004
-
-
Chris Lattner authored
but make virtreg->virtreg joining stay off by default llvm-svn: 14916
-
- Jul 09, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 14720
-
Alkis Evlogimenos authored
llvm-svn: 14719
-
- Jul 07, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 14655
-
- Jul 06, 2004
-
-
Alkis Evlogimenos authored
classes: just ignore that move. Thanks to Vladimir Prus who found the bug! llvm-svn: 14644
-
- Jul 02, 2004
-
-
Chris Lattner authored
don't exist, we don't have to pretend to handle them. llvm-svn: 14567
-
- Jul 01, 2004
-
-
Chris Lattner authored
use them instead of a local LiveVariables numbering llvm-svn: 14523
-
Chris Lattner authored
map. llvm-svn: 14518
-
- Jun 29, 2004
-
-
Chris Lattner authored
llvm-svn: 14475
-
Chris Lattner authored
llvm-svn: 14474
-
- Jun 25, 2004
-
-
Tanya Lattner authored
Made a fix so that you can print out MachineInstrs that belong to a MachineBasicBlock that is not yet attached to a MachineFunction. This change includes changing the third operand (TargetMachine) to a pointer for the MachineInstr::print function. llvm-svn: 14389
-
- Jun 21, 2004
-
-
Chris Lattner authored
existing llvm::Interval class. Patch contributed by Vladimir Prus! http://mail.cs.uiuc.edu/pipermail/llvmbugs/2004-June/000710.html llvm-svn: 14281
-
- Jun 02, 2004
-
-
Chris Lattner authored
llvm-svn: 13956
-
- May 30, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 13910
-
Alkis Evlogimenos authored
spills. This allows for more flexibility when allocating registers for spill code. llvm-svn: 13907
-
- May 29, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 13892
-
- May 08, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 13416
-
- May 06, 2004
-
-
Chris Lattner authored
workaround, use the C HUGE_VAL macro instead. llvm-svn: 13377
-
- May 01, 2004
-
-
Chris Lattner authored
llvm-svn: 13302
-
- Apr 12, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 12872
-
Alkis Evlogimenos authored
llvm-svn: 12869
-
Alkis Evlogimenos authored
llvm-svn: 12866
-
- Apr 09, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 12791
-
- Mar 14, 2004
-
-
Alkis Evlogimenos authored
instruction to make the API more flexible. llvm-svn: 12386
-
- Mar 01, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 12058
-
- Feb 26, 2004
-
-
Alkis Evlogimenos authored
MRegisterInfo::is{Physical,Virtual}Register. Apply appropriate fixes to relevant files. llvm-svn: 11882
-
- Feb 23, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 11721
-
Alkis Evlogimenos authored
llvm-svn: 11719
-
- Feb 22, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 11704
-
Alkis Evlogimenos authored
Also make it less aggressive as the current implementation breaks in some cases. llvm-svn: 11696
-
- Feb 21, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 11687
-
- Feb 20, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 11676
-
Alkis Evlogimenos authored
llvm-svn: 11675
-
Alkis Evlogimenos authored
llvm-svn: 11674
-
Alkis Evlogimenos authored
1. LiveIntervals now implement a 4 slot per instruction model. Load, Use, Def and a Store slot. This is required in order to correctly represent caller saved register clobbering on function calls, register reuse in the same instruction (def resues last use) and also spill code added later by the allocator. The previous representation (2 slots per instruction) was insufficient and as a result was causing subtle bugs. 2. Fixes in spill code generation. This was the major cause of failures in the test suite. 3. Linear scan now has core support for folding memory operands. This is untested and not enabled (the live interval update function does not attempt to fold loads/stores in instructions). 4. Lots of improvements in the debugging output of both live intervals and linear scan. Give it a try... it is beautiful :-) In summary the above fixes all the issues with the recent reserved register elimination changes and get the allocator very close to the next big step: folding memory operands. llvm-svn: 11654
-
- Feb 18, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 11575
-
Alkis Evlogimenos authored
llvm-svn: 11574
-
- Feb 17, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 11516
-