Skip to content
  1. Oct 02, 2010
  2. Sep 25, 2010
  3. Sep 21, 2010
  4. Sep 08, 2010
  5. Sep 04, 2010
    • Jakob Stoklund Olesen's avatar
      Remove dead code. · 313358fe
      Jakob Stoklund Olesen authored
      Clobber ranges are no longer used when joining physical registers.
      Instead, all aliases are checked for interference.
      
      llvm-svn: 113084
      313358fe
  6. Aug 12, 2010
  7. Aug 10, 2010
    • Jakob Stoklund Olesen's avatar
      Transpose the calculation of spill weights such that we are calculating one · e00c49da
      Jakob Stoklund Olesen authored
      register at a time. This turns out to be slightly faster than iterating over
      instructions, but more importantly, it allows us to compute spill weights for
      new registers created after the spill weight pass has run.
      
      Also compute the allocation hint at the same time as the spill weight. This
      allows us to use the spill weight as a cost metric for copies, and choose the
      most profitable hint if there is more than one possibility.
      
      The new hints provide a very small (< 0.1%) but universal code size improvement.
      
      llvm-svn: 110631
      e00c49da
  8. Aug 06, 2010
  9. Aug 02, 2010
  10. Jul 26, 2010
  11. Jul 13, 2010
  12. Jun 29, 2010
  13. Jun 26, 2010
    • Jakob Stoklund Olesen's avatar
      Don't track kills in VNInfo. Use interval ends instead. · 55d738e2
      Jakob Stoklund Olesen authored
      The VNInfo.kills vector was almost unused except for all the code keeping it
      updated. The few places using it were easily rewritten to check for interval
      ends instead.
      
      The two new methods LiveInterval::killedAt and killedInRange are replacements.
      
      This brings us down to 3 independent data structures tracking kills.
      
      llvm-svn: 106905
      55d738e2
  14. Jun 25, 2010
  15. Jun 23, 2010
  16. Mar 30, 2010
  17. Jan 12, 2010
  18. Jan 04, 2010
    • David Greene's avatar
      · c2155323
      David Greene authored
      Change errs() to dbgs().
      
      llvm-svn: 92528
      c2155323
  19. Dec 09, 2009
    • Lang Hames's avatar
      Added a new "splitting" spiller. · 1ab2b49e
      Lang Hames authored
      When a call is placed to spill an interval this spiller will first try to
      break the interval up into its component values. Single value intervals and
      intervals which have already been split (or are the result of previous splits)
      are spilled by the default spiller.
      
      Splitting intervals as described above may improve the performance of generated
      code in some circumstances. This work is experimental however, and it still
      miscompiles many benchmarks. It's not recommended for general use yet.
      
      llvm-svn: 90951
      1ab2b49e
  20. Nov 04, 2009
    • Lang Hames's avatar
      The Indexes Patch. · 05fb9637
      Lang Hames authored
      This introduces a new pass, SlotIndexes, which is responsible for numbering
      instructions for register allocation (and other clients). SlotIndexes numbering
      is designed to match the existing scheme, so this patch should not cause any
      changes in the generated code.
      
      For consistency, and to avoid naming confusion, LiveIndex has been renamed
      SlotIndex.
      
      The processImplicitDefs method of the LiveIntervals analysis has been moved
      into its own pass so that it can be run prior to SlotIndexes. This was
      necessary to match the existing numbering scheme.
      
      llvm-svn: 85979
      05fb9637
  21. Oct 03, 2009
  22. Sep 12, 2009
  23. Sep 04, 2009
  24. Aug 23, 2009
  25. Aug 11, 2009
  26. Jul 24, 2009
  27. Jul 23, 2009
    • David Greene's avatar
      · 1164d1f2
      David Greene authored
      Reorder if-else branches as suggested by Bill.
      
      llvm-svn: 76808
      1164d1f2
  28. Jul 22, 2009
    • David Greene's avatar
      · 1e2a04ba
      David Greene authored
      Make some changes suggested by Bill and Evan.
      
      llvm-svn: 76775
      1e2a04ba
    • David Greene's avatar
      · 34242753
      David Greene authored
      Add some support for iterative coalescers to calculate a joined live
      range's weight properly.  This is turned off right now in the sense that
      you'll get an assert if you get into a situation that can only be caused
      by an iterative coalescer.  All other code paths operate exactly as
      before so there is no functional change with this patch.  The asserts
      should be disabled if/when an iterative coalescer gets added to trunk.
      
      llvm-svn: 76680
      34242753
Loading