- Jul 24, 2004
-
-
Alkis Evlogimenos authored
LiveInterval>. This saves some space and removes the pointer indirection caused by following the pointer. llvm-svn: 15167
-
Chris Lattner authored
ownership of the intervals. llvm-svn: 15155
-
- Jul 23, 2004
-
-
Chris Lattner authored
llvm-svn: 15135
-
- Jul 22, 2004
-
-
Alkis Evlogimenos authored
compilation of gcc: * Use vectors instead of lists for the intervals sets * Use a heap for the unhandled set to keep intervals always sorted and makes insertions back to the heap very fast (compared to scanning a list) llvm-svn: 15103
-
- Jul 21, 2004
-
-
Brian Gaeke authored
llvm-svn: 15089
-
- Jul 20, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 15011
-
- Jul 19, 2004
-
-
Chris Lattner authored
llvm-svn: 14991
-
Chris Lattner authored
is sorted. This is not the case currently, which is causing no end of problems. llvm-svn: 14990
-
- Jul 04, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 14626
-
Alkis Evlogimenos authored
llvm-svn: 14590
-
- 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
-
- 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 08, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 13417
-
- May 06, 2004
-
-
Chris Lattner authored
workaround, use the C HUGE_VAL macro instead. llvm-svn: 13377
-
- Mar 17, 2004
-
-
Alkis Evlogimenos authored
unhandled + handled. So unhandled is now including all fixed intervals and fixed intervals never changes when processing a function. llvm-svn: 12462
-
- Mar 02, 2004
-
-
Alkis Evlogimenos authored
Add a spiller option to llc. A simple spiller will come soon. When we get CFG in the machine code represenation a global spiller will also be possible. Also document the linear scan register allocator but mark it as experimental for now. llvm-svn: 12062
-
- Mar 01, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 12058
-
- Feb 27, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 11898
-
- Feb 25, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 11841
-
Chris Lattner authored
llvm-svn: 11830
-
- Feb 24, 2004
-
-
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
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
-
Alkis Evlogimenos authored
llvm-svn: 11755
-
Alkis Evlogimenos authored
Improved PhysRegTracker interface. RegAlloc lazily allocates the register tracker using a std::auto_ptr llvm-svn: 11738
-
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: 11720
-
Alkis Evlogimenos authored
llvm-svn: 11719
-
- Feb 22, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 11704
-
- Feb 20, 2004
-
-
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
-
- Feb 19, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 11629
-
Alkis Evlogimenos authored
llvm-svn: 11619
-
Alkis Evlogimenos authored
llvm-svn: 11609
-
- Feb 15, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 11476
-
- Feb 14, 2004
-
-
Alkis Evlogimenos authored
std::numeric_limits<float>::max() for weighting preallocated intervals. llvm-svn: 11427
-
- Feb 13, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 11393
-