Skip to content
  1. Sep 05, 2006
    • Chris Lattner's avatar
      Fix a long-standing wart in the code generator: two-address instruction lowering · 13a5dcdd
      Chris Lattner authored
      actually *removes* one of the operands, instead of just assigning both operands
      the same register.  This make reasoning about instructions unnecessarily complex,
      because you need to know if you are before or after register allocation to match
      up operand #'s with the target description file.
      
      Changing this also gets rid of a bunch of hacky code in various places.
      
      This patch also includes changes to fold loads into cmp/test instructions in
      the X86 backend, along with a significant simplification to the X86 spill
      folding code.
      
      llvm-svn: 30108
      13a5dcdd
  2. Sep 04, 2006
  3. Sep 03, 2006
  4. Sep 02, 2006
  5. Sep 01, 2006
  6. Aug 31, 2006
  7. Aug 30, 2006
  8. Aug 28, 2006
  9. Aug 27, 2006
  10. Aug 26, 2006
  11. Aug 25, 2006
    • Chris Lattner's avatar
      Take advantage of the recent improvements to the liveintervals set (tracking · bdf12106
      Chris Lattner authored
      instructions which define each value#) to simplify and improve the coallescer.
      In particular, this patch:
      
      1. Implements iterative coallescing.
      2. Reverts an unsafe hack from handlePhysRegDef, superceeding it with a
         better solution.
      3. Implements PR865, "coallescing" away the second copy in code like:
      
         A = B
         ...
         B = A
      
      This also includes changes to symbolically print registers in intervals
      when possible.
      
      llvm-svn: 29862
      bdf12106
  12. Aug 22, 2006
  13. Jul 21, 2006
  14. Jul 20, 2006
  15. May 24, 2006
  16. May 12, 2006
  17. May 11, 2006
  18. May 09, 2006
  19. May 04, 2006
  20. May 01, 2006
  21. Apr 30, 2006
  22. Jan 23, 2006
  23. Jan 10, 2006
  24. Jan 03, 2006
  25. Oct 26, 2005
  26. Oct 21, 2005
    • Chris Lattner's avatar
      Make the coallescer a bit smarter, allowing it to join more live ranges. · e95b5745
      Chris Lattner authored
      For example, we can now join things like [0-30:0)[31-40:1)[52-59:2)
      with [40:60:0) if the 52-59 range is defined by a copy from the 40-60 range.
      The resultant range ends up being [0-30:0)[31-60:1).
      
      This fires a lot through-out the test suite (e.g. shrinking bc from
      19492 -> 18509 machineinstrs) though most gains are smaller (e.g. about
      50 copies eliminated from crafty).
      
      llvm-svn: 23866
      e95b5745
  27. Sep 21, 2005
  28. Sep 09, 2005
Loading