summaryrefslogtreecommitdiff
path: root/lib/CodeGen/RegisterScavenging.cpp
diff options
context:
space:
mode:
authorHal Finkel <hfinkel@anl.gov>2013-03-27 13:00:56 +0000
committerHal Finkel <hfinkel@anl.gov>2013-03-27 13:00:56 +0000
commit26998ee794e9b6f9b0bc27d1e273b6b78afce57d (patch)
tree6e20bfd54a0f259fab64d0e1548874c17ef6a7ad /lib/CodeGen/RegisterScavenging.cpp
parentd6d0ebbed7ecb807e0606ac4f96af9e40202a3bb (diff)
downloadllvm-26998ee794e9b6f9b0bc27d1e273b6b78afce57d.tar.gz
llvm-26998ee794e9b6f9b0bc27d1e273b6b78afce57d.tar.bz2
llvm-26998ee794e9b6f9b0bc27d1e273b6b78afce57d.tar.xz
Fix target-customized spilling in the register scavenger
This is a follow-up to r178073 (which should actually make target-customized spilling work again). I still don't have a regression test for this (but it would be good to have one; Thumb 1 and Mips16 use this callback as well). Patch by Richard Sandiford. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178137 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/RegisterScavenging.cpp')
-rw-r--r--lib/CodeGen/RegisterScavenging.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/CodeGen/RegisterScavenging.cpp b/lib/CodeGen/RegisterScavenging.cpp
index 6b85cd93cf..55a66ba548 100644
--- a/lib/CodeGen/RegisterScavenging.cpp
+++ b/lib/CodeGen/RegisterScavenging.cpp
@@ -371,7 +371,7 @@ unsigned RegScavenger::scavengeRegister(const TargetRegisterClass *RC,
if (Scavenged[SI].Reg == 0)
break;
- if (SI < Scavenged.size()) {
+ if (SI == Scavenged.size()) {
// We need to scavenge a register but have no spill slot, the target
// must know how to do it (if not, we'll assert below).
Scavenged.push_back(ScavengedInfo());