- Feb 27, 2004
-
-
Alkis Evlogimenos authored
that they are as far away from the loads as possible. llvm-svn: 11895
-
Alkis Evlogimenos authored
MRegisterInfo::isPhysicalRegister(). llvm-svn: 11894
-
Alkis Evlogimenos authored
llvm-svn: 11892
-
- Feb 26, 2004
-
-
Alkis Evlogimenos authored
MRegisterInfo::is{Physical,Virtual}Register. Apply appropriate fixes to relevant files. llvm-svn: 11882
-
Chris Lattner authored
llvm-svn: 11868
-
Alkis Evlogimenos authored
MRegisterInfo::is{Physical,Virtual}Register. llvm-svn: 11849
-
- Feb 25, 2004
-
-
Brian Gaeke authored
llvm-svn: 11844
-
Alkis Evlogimenos authored
llvm-svn: 11841
-
Alkis Evlogimenos authored
to objects. llvm-svn: 11840
-
Chris Lattner authored
llvm-svn: 11830
-
- Feb 24, 2004
-
-
Brian Gaeke authored
llvm-svn: 11804
-
Alkis Evlogimenos authored
allocator. The implementation is completely rewritten and now employs several optimizations not exercised before. For example for 164.gzip we have 997 loads and 699 stores vs the 1221 loads and 880 stores we have before. llvm-svn: 11798
-
Alkis Evlogimenos authored
register mapping or a stack slot mapping. llvm-svn: 11795
-
Alkis Evlogimenos authored
llvm-svn: 11782
-
Alkis Evlogimenos authored
llvm-svn: 11781
-
Alkis Evlogimenos authored
251 (providing a generic machine code rewriter/spiller). llvm-svn: 11780
-
- Feb 23, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 11759
-
Chris Lattner authored
llvm-svn: 11758
-
Chris Lattner authored
llvm-svn: 11757
-
Alkis Evlogimenos authored
llvm-svn: 11756
-
Alkis Evlogimenos authored
llvm-svn: 11755
-
Alkis Evlogimenos authored
block into MachineBasicBlock::getFirstTerminator(). This also fixes a bug in the implementation of the above in both RegAllocLocal and InstrSched, where instructions where added after the terminator if the basic block's only instruction was a terminator (it shouldn't matter for RegAllocLocal since this case never occurs in practice). llvm-svn: 11748
-
Alkis Evlogimenos authored
Improved PhysRegTracker interface. RegAlloc lazily allocates the register tracker using a std::auto_ptr llvm-svn: 11738
-
Alkis Evlogimenos authored
Simplify iterator usage now that we have next(). Also don't pass iterators by reference now that MachineInstr* are in an ilist llvm-svn: 11732
-
Alkis Evlogimenos authored
llvm-svn: 11724
-
Alkis Evlogimenos authored
Fix comments in PhysRegTracker and rename isPhysRegAvail to isRegAvail to be consistent with the other two llvm-svn: 11723
-
Alkis Evlogimenos authored
llvm-svn: 11721
-
Alkis Evlogimenos authored
llvm-svn: 11720
-
Alkis Evlogimenos authored
llvm-svn: 11719
-
- Feb 22, 2004
-
-
Chris Lattner authored
llvm-svn: 11716
-
Chris Lattner authored
one terminator instruction in each basic block. llvm-svn: 11714
-
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
llvm-svn: 11659
-
Alkis Evlogimenos authored
llvm-svn: 11655
-
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
-