Skip to content
  1. Mar 04, 2011
  2. Mar 03, 2011
  3. Mar 02, 2011
  4. Mar 01, 2011
    • Jakob Stoklund Olesen's avatar
      Keep track of which stage produced a live range, and bypass earlier stages when revisiting. · 5f9f081d
      Jakob Stoklund Olesen authored
      This effectively disables the 'turbo' functionality of the greedy register
      allocator where all new live ranges created by splitting would be reconsidered
      as if they were originals.
      
      There are two reasons for doing this, 1. It guarantees that the algorithm
      terminates. Early versions were prone to infinite looping in certain corner
      cases. 2. It is a 2x speedup. We can skip a lot of unnecessary interference
      checks that won't lead to good splitting anyway.
      
      The problem is that region splitting only gets one shot, so it should probably
      be changed to target multiple physical registers at once.
      
      Local live range splitting is still 'turbo' enabled. It only accounts for a
      small fraction of compile time, so it is probably not necessary to do anything
      about that.
      
      llvm-svn: 126781
      5f9f081d
  5. Feb 25, 2011
  6. Feb 23, 2011
  7. Feb 22, 2011
  8. Feb 19, 2011
  9. Feb 18, 2011
  10. Feb 17, 2011
  11. Feb 10, 2011
  12. Feb 09, 2011
  13. Feb 08, 2011
  14. Feb 05, 2011
  15. Feb 04, 2011
  16. Feb 03, 2011
  17. Jan 20, 2011
  18. 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
  19. Jan 18, 2011
Loading