aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineScheduler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/CodeGen/MachineScheduler.cpp')
-rw-r--r--llvm/lib/CodeGen/MachineScheduler.cpp43
1 files changed, 27 insertions, 16 deletions
diff --git a/llvm/lib/CodeGen/MachineScheduler.cpp b/llvm/lib/CodeGen/MachineScheduler.cpp
index de77145..df90077 100644
--- a/llvm/lib/CodeGen/MachineScheduler.cpp
+++ b/llvm/lib/CodeGen/MachineScheduler.cpp
@@ -1414,9 +1414,9 @@ void ScheduleDAGMILive::initRegPressure() {
updatePressureDiffs(LiveUses);
}
- LLVM_DEBUG(dbgs() << "Top Pressure:\n";
+ LLVM_DEBUG(dbgs() << "Top Pressure: ";
dumpRegSetPressure(TopRPTracker.getRegSetPressureAtPos(), TRI);
- dbgs() << "Bottom Pressure:\n";
+ dbgs() << "Bottom Pressure: ";
dumpRegSetPressure(BotRPTracker.getRegSetPressureAtPos(), TRI););
assert((BotRPTracker.getPos() == RegionEnd ||
@@ -1437,11 +1437,14 @@ void ScheduleDAGMILive::initRegPressure() {
RegionCriticalPSets.push_back(PressureChange(i));
}
}
- LLVM_DEBUG(dbgs() << "Excess PSets: ";
- for (const PressureChange &RCPS
- : RegionCriticalPSets) dbgs()
- << TRI->getRegPressureSetName(RCPS.getPSet()) << " ";
- dbgs() << "\n");
+ LLVM_DEBUG({
+ if (RegionCriticalPSets.size() > 0) {
+ dbgs() << "Excess PSets: ";
+ for (const PressureChange &RCPS : RegionCriticalPSets)
+ dbgs() << TRI->getRegPressureSetName(RCPS.getPSet()) << " ";
+ dbgs() << "\n";
+ }
+ });
}
void ScheduleDAGMILive::
@@ -1495,10 +1498,14 @@ void ScheduleDAGMILive::updatePressureDiffs(ArrayRef<VRegMaskOrUnit> LiveUses) {
PressureDiff &PDiff = getPressureDiff(&SU);
PDiff.addPressureChange(Reg, Decrement, &MRI);
- LLVM_DEBUG(dbgs() << " UpdateRegP: SU(" << SU.NodeNum << ") "
- << printReg(Reg, TRI) << ':'
- << PrintLaneMask(P.LaneMask) << ' ' << *SU.getInstr();
- dbgs() << " to "; PDiff.dump(*TRI););
+ if (llvm::any_of(PDiff, [](const PressureChange &Change) {
+ return Change.isValid();
+ }))
+ LLVM_DEBUG(dbgs()
+ << " UpdateRegPressure: SU(" << SU.NodeNum << ") "
+ << printReg(Reg, TRI) << ':'
+ << PrintLaneMask(P.LaneMask) << ' ' << *SU.getInstr();
+ dbgs() << " to "; PDiff.dump(*TRI););
}
} else {
assert(P.LaneMask.any());
@@ -1530,9 +1537,13 @@ void ScheduleDAGMILive::updatePressureDiffs(ArrayRef<VRegMaskOrUnit> LiveUses) {
if (LRQ.valueIn() == VNI) {
PressureDiff &PDiff = getPressureDiff(SU);
PDiff.addPressureChange(Reg, true, &MRI);
- LLVM_DEBUG(dbgs() << " UpdateRegP: SU(" << SU->NodeNum << ") "
- << *SU->getInstr();
- dbgs() << " to "; PDiff.dump(*TRI););
+ if (llvm::any_of(PDiff, [](const PressureChange &Change) {
+ return Change.isValid();
+ }))
+ LLVM_DEBUG(dbgs() << " UpdateRegPressure: SU(" << SU->NodeNum
+ << ") " << *SU->getInstr();
+ dbgs() << " to ";
+ PDiff.dump(*TRI););
}
}
}
@@ -1792,7 +1803,7 @@ void ScheduleDAGMILive::scheduleMI(SUnit *SU, bool IsTopNode) {
TopRPTracker.advance(RegOpers);
assert(TopRPTracker.getPos() == CurrentTop && "out of sync");
- LLVM_DEBUG(dbgs() << "Top Pressure:\n"; dumpRegSetPressure(
+ LLVM_DEBUG(dbgs() << "Top Pressure: "; dumpRegSetPressure(
TopRPTracker.getRegSetPressureAtPos(), TRI););
updateScheduledPressure(SU, TopRPTracker.getPressure().MaxSetPressure);
@@ -1830,7 +1841,7 @@ void ScheduleDAGMILive::scheduleMI(SUnit *SU, bool IsTopNode) {
SmallVector<VRegMaskOrUnit, 8> LiveUses;
BotRPTracker.recede(RegOpers, &LiveUses);
assert(BotRPTracker.getPos() == CurrentBottom && "out of sync");
- LLVM_DEBUG(dbgs() << "Bottom Pressure:\n"; dumpRegSetPressure(
+ LLVM_DEBUG(dbgs() << "Bottom Pressure: "; dumpRegSetPressure(
BotRPTracker.getRegSetPressureAtPos(), TRI););
updateScheduledPressure(SU, BotRPTracker.getPressure().MaxSetPressure);