Skip to content
  1. Feb 25, 2004
  2. Feb 24, 2004
  3. Feb 23, 2004
  4. Feb 22, 2004
  5. Feb 20, 2004
    • Alkis Evlogimenos's avatar
      Fix crash in debug output. · 22de21ea
      Alkis Evlogimenos authored
      llvm-svn: 11659
      22de21ea
    • Alkis Evlogimenos's avatar
      Fix instruction numbering in debug output. · bcc99a83
      Alkis Evlogimenos authored
      llvm-svn: 11655
      bcc99a83
    • Alkis Evlogimenos's avatar
      Too many changes in one commit: · 76eca062
      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
      76eca062
  6. Feb 19, 2004
  7. Feb 15, 2004
  8. Feb 14, 2004
  9. Feb 13, 2004
  10. Feb 12, 2004
  11. Feb 10, 2004
  12. Feb 06, 2004
  13. Feb 04, 2004
  14. Feb 03, 2004
  15. Feb 02, 2004
  16. Feb 01, 2004
  17. Jan 23, 2004
    • Alkis Evlogimenos's avatar
      Add option to join live intervals. Two intervals are joined if there · 73df1136
      Alkis Evlogimenos authored
      is a move between two registers, at least one of the registers is
      virtual and the two live intervals do not overlap.
      
      This results in about 40% reduction in intervals, 30% decrease in the
      register allocators running time and a 20% increase in peephole
      optimizations (mainly move eliminations).
      
      The option can be enabled by passing -join-liveintervals where
      appropriate.
      
      llvm-svn: 10965
      73df1136
  18. Jan 22, 2004
  19. Jan 16, 2004
  20. Jan 14, 2004
  21. Jan 13, 2004
Loading