Skip to content
  1. Mar 12, 2011
    • Jakob Stoklund Olesen's avatar
      Spill multiple registers at once. · a86595e0
      Jakob Stoklund Olesen authored
      Live range splitting can create a number of small live ranges containing only a
      single real use. Spill these small live ranges along with the large range they
      are connected to with copies. This enables memory operand folding and maximizes
      the spill to fill distance.
      
      Work in progress with known bugs.
      
      llvm-svn: 127529
      a86595e0
  2. Mar 10, 2011
  3. Mar 09, 2011
  4. Mar 07, 2011
  5. Feb 24, 2011
  6. Feb 23, 2011
  7. Feb 09, 2011
  8. Feb 08, 2011
  9. Jan 09, 2011
  10. Dec 18, 2010
  11. Dec 10, 2010
  12. Nov 15, 2010
  13. Nov 11, 2010
  14. Nov 10, 2010
  15. Nov 04, 2010
  16. Nov 03, 2010
  17. Nov 01, 2010
  18. Oct 30, 2010
  19. Oct 29, 2010
  20. Oct 28, 2010
  21. Oct 26, 2010
  22. Oct 21, 2010
  23. Oct 15, 2010
  24. Oct 06, 2010
  25. Sep 26, 2010
  26. Sep 25, 2010
  27. Aug 14, 2010
    • Jakob Stoklund Olesen's avatar
      Clean up the Spiller.h interface. · 27e1f265
      Jakob Stoklund Olesen authored
      The earliestStart argument is entirely specific to linear scan allocation, and
      can be easily calculated by RegAllocLinearScan.
      
      Replace std::vector with SmallVector.
      
      llvm-svn: 111055
      27e1f265
  28. Aug 13, 2010
  29. Aug 12, 2010
    • Jakob Stoklund Olesen's avatar
      Implement single block splitting. · 622848b2
      Jakob Stoklund Olesen authored
      Before spilling a live range, we split it into a separate range for each basic
      block where it is used. That way we only get one reload per basic block if the
      new smaller ranges can allocate to a register.
      
      This type of splitting is already present in the standard spiller.
      
      llvm-svn: 110934
      622848b2
  30. Aug 10, 2010
  31. Aug 07, 2010
  32. Aug 06, 2010
  33. Aug 05, 2010
Loading