Add support for spreading register allocation.
authorDavid Greene <greened@obbligato.org>
Thu, 19 Nov 2009 15:55:49 +0000 (15:55 +0000)
committerDavid Greene <greened@obbligato.org>
Thu, 19 Nov 2009 15:55:49 +0000 (15:55 +0000)
commit7cfd336af61b860d4ac95851f6b2982285d227be
tree557ff8facfea192fb3960a9509e4fc65b0c1fdef
parent1acdcd5b0d0893e6c9a3b7618a7facf9e2d5dec6
Add support for spreading register allocation.

Add a -linearscan-skip-count argument (default to 0) that tells the
allocator to remember the last N registers it allocated and skip them
when looking for a register candidate.  This tends to spread out
register usage and free up post-allocation scheduling at the cost of
slightly more register pressure.  The primary benefit is the ability
to backschedule reloads.

This is turned off by default.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89356 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/RegAllocLinearScan.cpp