diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-07-27 23:58:38 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-07-27 23:58:38 +0000 |
commit | 08f6ef6a7807250d84446661b7a6ec4afa762099 (patch) | |
tree | d909f9ba592f48965801427b4a6dbd162b77c65f /lib/CodeGen/MachineTraceMetrics.cpp | |
parent | 0271a5fa29f73150fad891ca4c43a0a89a64b3bf (diff) | |
download | llvm-08f6ef6a7807250d84446661b7a6ec4afa762099.tar.gz llvm-08f6ef6a7807250d84446661b7a6ec4afa762099.tar.bz2 llvm-08f6ef6a7807250d84446661b7a6ec4afa762099.tar.xz |
Add more debug output to MachineTraceMetrics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160905 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/MachineTraceMetrics.cpp')
-rw-r--r-- | lib/CodeGen/MachineTraceMetrics.cpp | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/lib/CodeGen/MachineTraceMetrics.cpp b/lib/CodeGen/MachineTraceMetrics.cpp index 8ae6f37030..54c886bdda 100644 --- a/lib/CodeGen/MachineTraceMetrics.cpp +++ b/lib/CodeGen/MachineTraceMetrics.cpp @@ -211,7 +211,7 @@ getHeightResources(const MachineBasicBlock *MBB) const { // instructions. namespace { class MinInstrCountEnsemble : public MachineTraceMetrics::Ensemble { - const char *getName() { return "MinInstr"; } + const char *getName() const { return "MinInstr"; } const MachineBasicBlock *pickTracePred(const MachineBasicBlock*); const MachineBasicBlock *pickTraceSucc(const MachineBasicBlock*); @@ -458,6 +458,37 @@ MachineTraceMetrics::Ensemble::getTrace(const MachineBasicBlock *MBB) { return Trace(*this, BlockInfo[MBB->getNumber()]); } +void MachineTraceMetrics::Ensemble::print(raw_ostream &OS) const { + OS << getName() << " ensemble:\n"; + for (unsigned i = 0, e = BlockInfo.size(); i != e; ++i) { + OS << " BB#" << i << '\t'; + BlockInfo[i].print(OS); + OS << '\n'; + } +} + +void MachineTraceMetrics::TraceBlockInfo::print(raw_ostream &OS) const { + if (hasValidDepth()) { + OS << "depth=" << InstrDepth; + if (Pred) + OS << " pred=BB#" << Pred->getNumber(); + else + OS << " pred=null"; + OS << " head=BB#" << Head; + } else + OS << "depth invalid"; + OS << ", "; + if (hasValidHeight()) { + OS << "height=" << InstrHeight; + if (Succ) + OS << " succ=BB#" << Succ->getNumber(); + else + OS << " succ=null"; + OS << " tail=BB#" << Tail; + } else + OS << "height invalid"; +} + void MachineTraceMetrics::Trace::print(raw_ostream &OS) const { unsigned MBBNum = &TBI - &TE.BlockInfo[0]; |