Fix the register scavenger for targets that provide custom spilling
authorHal Finkel <hfinkel@anl.gov>
Tue, 26 Mar 2013 21:20:15 +0000 (21:20 +0000)
committerHal Finkel <hfinkel@anl.gov>
Tue, 26 Mar 2013 21:20:15 +0000 (21:20 +0000)
commitdf23a60fa6ce053511388e1bccca5900757e1aac
tree04bc845a8f51f567e5785cc7d8a5c55ec81810e0
parentaa6047d23d8ed55abd8545f5cbe82cd13cbd756a
Fix the register scavenger for targets that provide custom spilling

As pointed out by Richard Sandiford, my recent updates to the register
scavenger broke targets that use custom spilling (because the new code assumed
that if there were no valid spill slots, than spilling would be impossible).

I don't have a test case, but it should be possible to create one for Thumb 1,
Mips 16, etc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178073 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/RegisterScavenging.h
lib/CodeGen/RegisterScavenging.cpp