If remating a machine instr with virtual register operand, make sure the vr is avaliable at all uses regardless of whether it would be folded.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47526 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Evan Cheng 2008-02-23 02:14:42 +00:00
parent 18924f11c1
commit 298bbe82cb

View File

@ -680,8 +680,7 @@ bool LiveIntervals::isReMaterializable(const LiveInterval &li,
unsigned UseIdx = getInstructionIndex(UseMI);
if (li.FindLiveRangeContaining(UseIdx)->valno != ValNo)
continue;
if (!canFoldMemoryOperand(UseMI, li.reg) &&
!isValNoAvailableAt(ImpLi, MI, UseIdx))
if (!isValNoAvailableAt(ImpLi, MI, UseIdx))
return false;
}
}