regpressure: Added RegisterPressure::dump

llvm-svn: 157423
This commit is contained in:
Andrew Trick 2012-05-24 22:10:59 +00:00
parent b2c172e20a
commit d5326aea81
2 changed files with 20 additions and 0 deletions

View File

@ -18,6 +18,8 @@
#include "llvm/CodeGen/LiveIntervalAnalysis.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
using namespace llvm;
@ -61,6 +63,22 @@ void RegisterPressure::decrease(const TargetRegisterClass *RC,
decreaseSetPressure(MaxSetPressure, RC, TRI);
}
void RegisterPressure::dump(const TargetRegisterInfo *TRI) {
dbgs() << "Live In: ";
for (unsigned i = 0, e = LiveInRegs.size(); i < e; ++i)
dbgs() << PrintReg(LiveInRegs[i], TRI) << " ";
dbgs() << '\n';
dbgs() << "Live Out: ";
for (unsigned i = 0, e = LiveOutRegs.size(); i < e; ++i)
dbgs() << PrintReg(LiveOutRegs[i], TRI) << " ";
dbgs() << '\n';
for (unsigned i = 0, e = MaxSetPressure.size(); i < e; ++i) {
if (MaxSetPressure[i] != 0)
dbgs() << TRI->getRegPressureSetName(i) << "=" << MaxSetPressure[i]
<< '\n';
}
}
/// Increase the current pressure as impacted by these physical registers and
/// bump the high water mark if needed.
void RegPressureTracker::increasePhysRegPressure(ArrayRef<unsigned> Regs) {

View File

@ -42,6 +42,8 @@ struct RegisterPressure {
/// Decrease register pressure for each pressure set impacted by this register
/// class. This is only useful to account for spilling or rematerialization.
void decrease(const TargetRegisterClass *RC, const TargetRegisterInfo *TRI);
void dump(const TargetRegisterInfo *TRI);
};
/// RegisterPressure computed within a region of instructions delimited by