mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 20:23:11 +01:00
[StatepointLowering] Fix a mistake in rL261336
The check on MFI->getObjectSize() has to be on the FrameIndex, not on the index of the FrameIndex in AllocatedStackSlots. Weirdly, the tests I added in rL261336 didn't catch this. llvm-svn: 261347
This commit is contained in:
parent
2ebb736740
commit
e1ce176524
@ -88,11 +88,12 @@ StatepointLoweringState::allocateStackSlot(EVT ValueType,
|
||||
"Broken invariant");
|
||||
|
||||
for (; NextSlotToAllocate < NumSlots; NextSlotToAllocate++) {
|
||||
if (!AllocatedStackSlots.test(NextSlotToAllocate) &&
|
||||
MFI->getObjectSize(NextSlotToAllocate) == SpillSize) {
|
||||
if (!AllocatedStackSlots.test(NextSlotToAllocate)) {
|
||||
const int FI = Builder.FuncInfo.StatepointStackSlots[NextSlotToAllocate];
|
||||
AllocatedStackSlots.set(NextSlotToAllocate);
|
||||
return Builder.DAG.getFrameIndex(FI, ValueType);
|
||||
if (MFI->getObjectSize(FI) == SpillSize) {
|
||||
AllocatedStackSlots.set(NextSlotToAllocate);
|
||||
return Builder.DAG.getFrameIndex(FI, ValueType);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user