Skip to content
  1. Feb 23, 2011
    • Jakob Stoklund Olesen's avatar
      Be more aggressive about evicting interference. · 6bd68cdf
      Jakob Stoklund Olesen authored
      Use interval sizes instead of spill weights to determine if it is legal to evict
      interference. A smaller interval can evict interference if all interfering live
      ranges are larger.
      
      Allow multiple interferences to be evicted as along as they are all larger than
      the live range being allocated.
      
      Spill weights are still used to select the preferred eviction candidate.
      
      llvm-svn: 126276
      6bd68cdf
    • Jakob Stoklund Olesen's avatar
      Change the RAGreedy register assignment order so large live ranges are allocated first. · 2329c542
      Jakob Stoklund Olesen authored
      This is based on the observation that long live ranges are more difficult to
      allocate, so there is a better chance of solving the puzzle by handling the big
      pieces first. The allocator will evict and split long alive ranges when they get
      in the way.
      
      RABasic is still using spill weights for its priority queue, so the interface to
      the queue has been virtualized.
      
      llvm-svn: 126259
      2329c542
  2. Feb 22, 2011
  3. Feb 19, 2011
  4. Feb 18, 2011
  5. Feb 17, 2011
  6. Feb 10, 2011
  7. Feb 09, 2011
  8. Feb 08, 2011
  9. Feb 05, 2011
  10. Feb 04, 2011
  11. Feb 03, 2011
  12. Jan 20, 2011
  13. 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
  14. Jan 18, 2011
  15. Dec 28, 2010
  16. Dec 22, 2010
  17. Dec 18, 2010
  18. Dec 16, 2010
  19. Dec 15, 2010
Loading