Skip to content
  1. Jul 19, 2004
    • Chris Lattner's avatar
      Two changes, both very significant: · a618e13c
      Chris Lattner authored
      * vreg <-> vreg joining now works, enable it unconditionally when joining
        is enabled (which is the default).
      * Fix a serious pessimization of spill code where we were saying that a
        spilled DEF operand was live into the subsequent instruction.  This allows
        for substantially better code when spilling starts to happen.
      
      llvm-svn: 14993
      a618e13c
    • Chris Lattner's avatar
      See comments. The live intervals were not coming out of the spiller in sorted · c56f90d1
      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
      c56f90d1
    • Chris Lattner's avatar
      remove the mbbi2mbbMap_, which was just keeping track of mbb order anyway. · 4f2e2a3f
      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
      4f2e2a3f
  2. Jul 17, 2004
  3. Jul 09, 2004
  4. Jul 07, 2004
  5. Jul 06, 2004
  6. Jul 02, 2004
  7. Jul 01, 2004
  8. Jun 29, 2004
  9. Jun 25, 2004
  10. Jun 21, 2004
  11. Jun 02, 2004
  12. May 30, 2004
  13. May 29, 2004
  14. May 08, 2004
  15. May 06, 2004
  16. May 01, 2004
  17. Apr 12, 2004
  18. Apr 09, 2004
  19. Mar 14, 2004
  20. Mar 01, 2004
  21. Feb 26, 2004
  22. Feb 23, 2004
  23. Feb 22, 2004
  24. Feb 21, 2004
  25. Feb 20, 2004
    • Alkis Evlogimenos's avatar
      Some more statistics improvements. · 6ad63f8d
      Alkis Evlogimenos authored
      llvm-svn: 11676
      6ad63f8d
    • Alkis Evlogimenos's avatar
      Disambiguate statistic descriptions. · 71751de2
      Alkis Evlogimenos authored
      llvm-svn: 11675
      71751de2
    • Alkis Evlogimenos's avatar
      Rename statistic and add another one. · f3e77fb7
      Alkis Evlogimenos authored
      llvm-svn: 11674
      f3e77fb7
    • 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
  26. Feb 18, 2004
Loading