mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-23 22:23:00 +00:00
Revert r68073. It's causing a failure in the Apple-style builds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68092 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -188,7 +188,7 @@ void VirtRegMap::RemoveMachineInstrFromMaps(MachineInstr *MI) {
|
||||
if (MF->getFrameInfo()->isFixedObjectIndex(FI))
|
||||
continue;
|
||||
// This stack reference was produced by instruction selection and
|
||||
// is not a spill
|
||||
// is not a spill.
|
||||
if (FI < LowSpillSlot)
|
||||
continue;
|
||||
assert((unsigned)FI-LowSpillSlot < SpillSlotToUsesMap.size()
|
||||
@@ -201,6 +201,27 @@ void VirtRegMap::RemoveMachineInstrFromMaps(MachineInstr *MI) {
|
||||
EmergencySpillMap.erase(MI);
|
||||
}
|
||||
|
||||
bool VirtRegMap::OnlyUseOfStackSlot(const MachineInstr *MI) const {
|
||||
for (unsigned i = 0, e = MI->getNumOperands(); i != e; ++i) {
|
||||
const MachineOperand &MO = MI->getOperand(i);
|
||||
if (!MO.isFI())
|
||||
continue;
|
||||
int FI = MO.getIndex();
|
||||
if (MF->getFrameInfo()->isFixedObjectIndex(FI))
|
||||
continue;
|
||||
// This stack reference was produced by instruction selection and
|
||||
// is not a spill.
|
||||
if (FI < LowSpillSlot)
|
||||
continue;
|
||||
assert((unsigned)FI-LowSpillSlot < SpillSlotToUsesMap.size()
|
||||
&& "Invalid spill slot");
|
||||
if (SpillSlotToUsesMap[FI - LowSpillSlot].size() != 1)
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void VirtRegMap::print(std::ostream &OS, const Module* M) const {
|
||||
const TargetRegisterInfo* TRI = MF->getTarget().getRegisterInfo();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user