Fix overly conservative spill interval computation.

llvm-svn: 11574
This commit is contained in:
Alkis Evlogimenos 2004-02-18 03:35:38 +00:00
parent 26583db8b6
commit 739e5e33d7
1 changed files with 3 additions and 4 deletions

View File

@ -191,10 +191,9 @@ void LiveIntervals::updateSpilledInterval(Interval& li)
if (mop.isRegister()) { if (mop.isRegister()) {
unsigned reg = mop.getReg(); unsigned reg = mop.getReg();
if (rep(reg) == li.reg) { if (rep(reg) == li.reg) {
if (mop.isUse()) unsigned start = mop.isUse() ? index : index+1;
li.addRange(index, index+2); unsigned end = mop.isDef() ? index+2 : index+1;
else li.addRange(start, end);
li.addRange(index+1, index+2);
} }
} }
} }