Skip to content
  1. Feb 25, 2011
    • Jakob Stoklund Olesen's avatar
      Tweak the register allocator priority queue some more. · e68a27ee
      Jakob Stoklund Olesen authored
      New live ranges are assigned in long -> short order, but live ranges that have
      been evicted at least once are deferred and assigned in short -> long order.
      
      Also disable splitting and spilling for live ranges seen for the first time.
      
      The intention is to create a realistic interference pattern from the heavy live
      ranges before starting splitting and spilling around it.
      
      llvm-svn: 126451
      e68a27ee
  2. Feb 23, 2011
  3. Feb 22, 2011
  4. Feb 19, 2011
  5. Feb 18, 2011
  6. Feb 17, 2011
  7. Feb 10, 2011
  8. Feb 09, 2011
  9. Feb 08, 2011
  10. Feb 05, 2011
  11. Feb 04, 2011
  12. Feb 03, 2011
  13. Jan 20, 2011
  14. Jan 19, 2011
    • Jakob Stoklund Olesen's avatar
      Implement RAGreedy::splitAroundRegion and remove loop splitting. · 9fb04015
      Jakob Stoklund Olesen authored
      Region splitting includes loop splitting as a subset, and it is more generic.
      The splitting heuristics for variables that are live in more than one block are
      now:
      
      1. Try to create a region that covers multiple basic blocks.
      2. Try to create a new live range for each block with multiple uses.
      3. Spill.
      
      Steps 2 and 3 are similar to what the standard spiller is doing.
      
      llvm-svn: 123853
      9fb04015
  15. Jan 18, 2011
  16. Dec 28, 2010
  17. Dec 22, 2010
  18. Dec 18, 2010
Loading