Skip to content
  1. Nov 07, 2007
  2. Nov 06, 2007
  3. Nov 05, 2007
  4. Nov 03, 2007
    • Evan Cheng's avatar
      There are times when the coalescer would not coalesce away a copy but the copy · 66298e22
      Evan Cheng authored
      can be eliminated by the allocator is the destination and source targets the
      same register. The most common case is when the source and destination registers
      are in different class. For example, on x86 mov32to32_ targets GR32_ which
      contains a subset of the registers in GR32.
      
      The allocator can do 2 things:
      1. Set the preferred allocation for the destination of a copy to that of its source.
      2. After allocation is done, change the allocation of a copy destination (if
         legal) so the copy can be eliminated.
      
      This eliminates 443 extra moves from 403.gcc.
      
      llvm-svn: 43662
      66298e22
  5. Oct 17, 2007
  6. Oct 12, 2007
  7. Oct 08, 2007
  8. Oct 03, 2007
  9. Sep 14, 2007
  10. Sep 06, 2007
  11. Sep 05, 2007
  12. Aug 30, 2007
  13. Aug 29, 2007
  14. Aug 16, 2007
  15. Aug 14, 2007
  16. Aug 11, 2007
  17. Aug 08, 2007
  18. Jun 27, 2007
  19. Jun 19, 2007
    • Dan Gohman's avatar
      Replace M_REMATERIALIZIBLE and the newly-added isOtherReMaterializableLoad · 9e820649
      Dan Gohman authored
      with a general target hook to identify rematerializable instructions. Some
      instructions are only rematerializable with specific operands, such as loads
      from constant pools, while others are always rematerializable. This hook
      allows both to be identified as being rematerializable with the same
      mechanism.
      
      llvm-svn: 37644
      9e820649
  20. Jun 14, 2007
  21. Jun 08, 2007
  22. May 14, 2007
  23. May 03, 2007
  24. May 02, 2007
  25. May 01, 2007
  26. Apr 26, 2007
  27. Apr 25, 2007
    • Evan Cheng's avatar
      Fix for PR1306. · 7818c03c
      Evan Cheng authored
      - A register def / use now implicitly affects sub-register liveness but does
      not affect liveness information of super-registers.
      - Def of a larger register (if followed by a use later) is treated as
      read/mod/write of a smaller register.
      
      llvm-svn: 36434
      7818c03c
  28. Apr 18, 2007
  29. Apr 17, 2007
    • Evan Cheng's avatar
      Copy coalescing change to prevent a physical register from being pin to a · b881bdab
      Evan Cheng authored
      long live interval that has low usage density.
      1. Change order of coalescing to join physical registers with virtual
         registers first before virtual register intervals become too long.
      2. Check size and usage density to determine if it's worthwhile to join.
      3. If joining is aborted, assign virtual register live interval allocation
         preference field to the physical register.
      4. Register allocator should try to allocate to the preferred register
         first (if available) to create identify moves that can be eliminated.
      
      llvm-svn: 36218
      b881bdab
  30. Apr 04, 2007
Loading