Fix overly conservative spill interval computation.
llvm-svn: 11574
This commit is contained in:
parent
26583db8b6
commit
739e5e33d7
|
@ -191,10 +191,9 @@ void LiveIntervals::updateSpilledInterval(Interval& li)
|
|||
if (mop.isRegister()) {
|
||||
unsigned reg = mop.getReg();
|
||||
if (rep(reg) == li.reg) {
|
||||
if (mop.isUse())
|
||||
li.addRange(index, index+2);
|
||||
else
|
||||
li.addRange(index+1, index+2);
|
||||
unsigned start = mop.isUse() ? index : index+1;
|
||||
unsigned end = mop.isDef() ? index+2 : index+1;
|
||||
li.addRange(start, end);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue