diff options
author | Evan Cheng <evan.cheng@apple.com> | 2006-05-11 07:28:16 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2006-05-11 07:28:16 +0000 |
commit | 5d02eafaf250931838e77a6f5741e3738764e908 (patch) | |
tree | 0b63a72eb71f512c98bd17fca830edacbb0031db /lib | |
parent | 211b9a2580e62421d8acbb42dee88634fba18341 (diff) | |
download | external_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.cpp | 17 |
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 = |