forked from OSchip/llvm-project
parent
2baba9643c
commit
f62be0c0a6
|
@ -200,7 +200,7 @@ void StackSlotColoring::InitializeSlots() {
|
|||
Assignments.resize(LastFI);
|
||||
|
||||
// Gather all spill slots into a list.
|
||||
DEBUG(errs() << "Spill slot intervals:\n");
|
||||
DEBUG(dbgs() << "Spill slot intervals:\n");
|
||||
for (LiveStacks::iterator i = LS->begin(), e = LS->end(); i != e; ++i) {
|
||||
LiveInterval &li = i->second;
|
||||
DEBUG(li.dump());
|
||||
|
@ -212,7 +212,7 @@ void StackSlotColoring::InitializeSlots() {
|
|||
OrigSizes[FI] = MFI->getObjectSize(FI);
|
||||
AllColors.set(FI);
|
||||
}
|
||||
DEBUG(errs() << '\n');
|
||||
DEBUG(dbgs() << '\n');
|
||||
|
||||
// Sort them by weight.
|
||||
std::stable_sort(SSIntervals.begin(), SSIntervals.end(), IntervalSorter());
|
||||
|
@ -244,7 +244,7 @@ StackSlotColoring::ColorSlotsWithFreeRegs(SmallVector<int, 16> &SlotMapping,
|
|||
return false;
|
||||
|
||||
bool Changed = false;
|
||||
DEBUG(errs() << "Assigning unused registers to spill slots:\n");
|
||||
DEBUG(dbgs() << "Assigning unused registers to spill slots:\n");
|
||||
for (unsigned i = 0, e = SSIntervals.size(); i != e; ++i) {
|
||||
LiveInterval *li = SSIntervals[i];
|
||||
int SS = li->getStackSlotIndex();
|
||||
|
@ -274,7 +274,7 @@ StackSlotColoring::ColorSlotsWithFreeRegs(SmallVector<int, 16> &SlotMapping,
|
|||
AllColored = false;
|
||||
continue;
|
||||
} else {
|
||||
DEBUG(errs() << "Assigning fi#" << RSS << " to "
|
||||
DEBUG(dbgs() << "Assigning fi#" << RSS << " to "
|
||||
<< TRI->getName(Reg) << '\n');
|
||||
ColoredRegs.push_back(Reg);
|
||||
SlotMapping[RSS] = Reg;
|
||||
|
@ -302,7 +302,7 @@ StackSlotColoring::ColorSlotsWithFreeRegs(SmallVector<int, 16> &SlotMapping,
|
|||
++NumEliminated;
|
||||
}
|
||||
}
|
||||
DEBUG(errs() << '\n');
|
||||
DEBUG(dbgs() << '\n');
|
||||
|
||||
return Changed;
|
||||
}
|
||||
|
@ -337,7 +337,7 @@ int StackSlotColoring::ColorSlot(LiveInterval *li) {
|
|||
// Record the assignment.
|
||||
Assignments[Color].push_back(li);
|
||||
int FI = li->getStackSlotIndex();
|
||||
DEBUG(errs() << "Assigning fi#" << FI << " to fi#" << Color << "\n");
|
||||
DEBUG(dbgs() << "Assigning fi#" << FI << " to fi#" << Color << "\n");
|
||||
|
||||
// Change size and alignment of the allocated slot. If there are multiple
|
||||
// objects sharing the same slot, then make sure the size and alignment
|
||||
|
@ -361,7 +361,7 @@ bool StackSlotColoring::ColorSlots(MachineFunction &MF) {
|
|||
BitVector SlotIsReg(NumObjs);
|
||||
BitVector UsedColors(NumObjs);
|
||||
|
||||
DEBUG(errs() << "Color spill slot intervals:\n");
|
||||
DEBUG(dbgs() << "Color spill slot intervals:\n");
|
||||
bool Changed = false;
|
||||
for (unsigned i = 0, e = SSIntervals.size(); i != e; ++i) {
|
||||
LiveInterval *li = SSIntervals[i];
|
||||
|
@ -375,7 +375,7 @@ bool StackSlotColoring::ColorSlots(MachineFunction &MF) {
|
|||
Changed |= (SS != NewSS);
|
||||
}
|
||||
|
||||
DEBUG(errs() << "\nSpill slots after coloring:\n");
|
||||
DEBUG(dbgs() << "\nSpill slots after coloring:\n");
|
||||
for (unsigned i = 0, e = SSIntervals.size(); i != e; ++i) {
|
||||
LiveInterval *li = SSIntervals[i];
|
||||
int SS = li->getStackSlotIndex();
|
||||
|
@ -387,7 +387,7 @@ bool StackSlotColoring::ColorSlots(MachineFunction &MF) {
|
|||
#ifndef NDEBUG
|
||||
for (unsigned i = 0, e = SSIntervals.size(); i != e; ++i)
|
||||
DEBUG(SSIntervals[i]->dump());
|
||||
DEBUG(errs() << '\n');
|
||||
DEBUG(dbgs() << '\n');
|
||||
#endif
|
||||
|
||||
// Can we "color" a stack slot with a unused register?
|
||||
|
@ -419,7 +419,7 @@ bool StackSlotColoring::ColorSlots(MachineFunction &MF) {
|
|||
|
||||
// Delete unused stack slots.
|
||||
while (NextColor != -1) {
|
||||
DEBUG(errs() << "Removing unused stack object fi#" << NextColor << "\n");
|
||||
DEBUG(dbgs() << "Removing unused stack object fi#" << NextColor << "\n");
|
||||
MFI->RemoveStackObject(NextColor);
|
||||
NextColor = AllColors.find_next(NextColor);
|
||||
}
|
||||
|
@ -605,7 +605,7 @@ StackSlotColoring::UnfoldAndRewriteInstruction(MachineInstr *MI, int OldFI,
|
|||
MachineBasicBlock *MBB = MI->getParent();
|
||||
if (unsigned DstReg = TII->isLoadFromStackSlot(MI, OldFI)) {
|
||||
if (PropagateForward(MI, MBB, DstReg, Reg)) {
|
||||
DEBUG(errs() << "Eliminated load: ");
|
||||
DEBUG(dbgs() << "Eliminated load: ");
|
||||
DEBUG(MI->dump());
|
||||
++NumLoadElim;
|
||||
} else {
|
||||
|
@ -621,7 +621,7 @@ StackSlotColoring::UnfoldAndRewriteInstruction(MachineInstr *MI, int OldFI,
|
|||
}
|
||||
} else if (unsigned SrcReg = TII->isStoreToStackSlot(MI, OldFI)) {
|
||||
if (MI->killsRegister(SrcReg) && PropagateBackward(MI, MBB, SrcReg, Reg)) {
|
||||
DEBUG(errs() << "Eliminated store: ");
|
||||
DEBUG(dbgs() << "Eliminated store: ");
|
||||
DEBUG(MI->dump());
|
||||
++NumStoreElim;
|
||||
} else {
|
||||
|
@ -699,7 +699,7 @@ bool StackSlotColoring::RemoveDeadStores(MachineBasicBlock* MBB) {
|
|||
|
||||
|
||||
bool StackSlotColoring::runOnMachineFunction(MachineFunction &MF) {
|
||||
DEBUG(errs() << "********** Stack Slot Coloring **********\n");
|
||||
DEBUG(dbgs() << "********** Stack Slot Coloring **********\n");
|
||||
|
||||
MFI = MF.getFrameInfo();
|
||||
MRI = &MF.getRegInfo();
|
||||
|
|
Loading…
Reference in New Issue