summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2006-05-11 07:28:16 +0000
committerEvan Cheng <evan.cheng@apple.com>2006-05-11 07:28:16 +0000
commit5d02eafaf250931838e77a6f5741e3738764e908 (patch)
tree0b63a72eb71f512c98bd17fca830edacbb0031db /lib
parent211b9a2580e62421d8acbb42dee88634fba18341 (diff)
downloadexternal_llvm-5d02eafaf250931838e77a6f5741e3738764e908.zip
external_llvm-5d02eafaf250931838e77a6f5741e3738764e908.tar.gz
external_llvm-5d02eafaf250931838e77a6f5741e3738764e908.tar.bz2
Backing out previous check-in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28219 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/CodeGen/RegAllocLinearScan.cpp17
1 files changed, 1 insertions, 16 deletions
diff --git a/lib/CodeGen/RegAllocLinearScan.cpp b/lib/CodeGen/RegAllocLinearScan.cpp
index fd7d5a6..90b8fe2 100644
--- a/lib/CodeGen/RegAllocLinearScan.cpp
+++ b/lib/CodeGen/RegAllocLinearScan.cpp
@@ -406,15 +406,6 @@ static void RevertVectorIteratorsTo(RA::IntervalPtrs &V, unsigned Point) {
}
}
-static bool isZeroLengthInterval(LiveInterval *li) {
- for (LiveInterval::Ranges::const_iterator
- i = li->ranges.begin(), e = li->ranges.end(); i != e; ++i)
- if (i->end - i->start > LiveIntervals::InstrSlots::NUM)
- return false;
- return true;
-}
-
-
/// assignRegOrStackSlotAtInterval - assign a register if one is available, or
/// spill.
void RA::assignRegOrStackSlotAtInterval(LiveInterval* cur)
@@ -565,16 +556,10 @@ void RA::assignRegOrStackSlotAtInterval(LiveInterval* cur)
DEBUG(std::cerr << "\t\tregister with min weight: "
<< mri_->getName(minReg) << " (" << minWeight << ")\n");
- // If the live interval legnth is essentially zero, i.e. in every live range
- // the use follows def immediately, it doesn't make sense to spill it and
- // hope it will be easier to allocate for this li.
- if (isZeroLengthInterval(cur))
- DEBUG(std::cerr << "\t\tavoid spilling zero length live interval: "
- << *cur << '\n';);
// if the current has the minimum weight, we need to spill it and
// add any added intervals back to unhandled, and restart
// linearscan.
- else if (cur->weight <= minWeight) {
+ if (cur->weight <= minWeight) {
DEBUG(std::cerr << "\t\t\tspilling(c): " << *cur << '\n';);
int slot = vrm_->assignVirt2StackSlot(cur->reg);
std::vector<LiveInterval*> added =