This series improves register allocator by keeping track of temp's and
register's live ranges, doing better spill choice and spilling early unneeded
globals.

The patches do need testing and performance evaluation before they will be
ready for final review.  I decided to preliminary post them because it seems
other people are working on the same thing and I'd like to avoid unnecessary
work duplication if possible.

Kirill Batuzov (8):
  Compute additional liveness information for register allocator.
  Propagate REG_NEXT_USE value through process of register allocation.
  Do better spill choice.
  Calculate NEXT_CALL liveness information.
  Track call-clobbered uses of registers
  Spill globals early if their next use is in call.
  Spill globals early if their next use is at the BB end.
  Add spill count profiling.

 tcg/tcg.c |  245 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 tcg/tcg.h |   12 +++
 2 files changed, 248 insertions(+), 9 deletions(-)

-- 
1.7.4.1


Reply via email to