Added a new "splitting" spiller.
authorLang Hames <lhames@gmail.com>
Wed, 9 Dec 2009 05:39:12 +0000 (05:39 +0000)
committerLang Hames <lhames@gmail.com>
Wed, 9 Dec 2009 05:39:12 +0000 (05:39 +0000)
commit6194569d22003fddaf1a33acdbb84d5efe76e7d7
tree774665726e58a7ee539ab6188a4feb277c374cdf
parent164c7ba0ef6a7db1b2d58f959e879ddcdf276ad5
Added a new "splitting" spiller.

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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90951 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/LiveIntervalAnalysis.h
lib/CodeGen/LiveInterval.cpp
lib/CodeGen/LiveIntervalAnalysis.cpp
lib/CodeGen/RegAllocLinearScan.cpp
lib/CodeGen/Spiller.cpp
lib/CodeGen/Spiller.h