Bug 1027900 - IonMonkey: Extend trySplitAfterLastRegister use to also split after register definitions. r=bhackett

This commit is contained in:
Dan Gohman 2014-06-23 13:42:08 -07:00
Родитель 01de87666c
Коммит 1710ac4390
1 изменённых файлов: 10 добавлений и 0 удалений

Просмотреть файл

@ -1559,6 +1559,16 @@ BacktrackingAllocator::trySplitAfterLastRegisterUse(LiveInterval *interval, Live
CodePosition lastRegisterFrom, lastRegisterTo, lastUse;
// If the definition of the interval is in a register, consider that a
// register use too for our purposes here.
if (isRegisterDefinition(interval)) {
CodePosition spillStart = minimalDefEnd(insData[interval->start()].ins()).next();
if (!conflict || spillStart < conflict->start()) {
lastUse = lastRegisterFrom = interval->start();
lastRegisterTo = spillStart;
}
}
for (UsePositionIterator iter(interval->usesBegin());
iter != interval->usesEnd();
iter++)