summaryrefslogtreecommitdiff
path: root/lib/CodeGen/MachineTraceMetrics.h
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2012-07-27 23:58:38 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2012-07-27 23:58:38 +0000
commit08f6ef6a7807250d84446661b7a6ec4afa762099 (patch)
treed909f9ba592f48965801427b4a6dbd162b77c65f /lib/CodeGen/MachineTraceMetrics.h
parent0271a5fa29f73150fad891ca4c43a0a89a64b3bf (diff)
downloadllvm-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.h')
-rw-r--r--lib/CodeGen/MachineTraceMetrics.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/CodeGen/MachineTraceMetrics.h b/lib/CodeGen/MachineTraceMetrics.h
index 26136fa9ee..40da272932 100644
--- a/lib/CodeGen/MachineTraceMetrics.h
+++ b/lib/CodeGen/MachineTraceMetrics.h
@@ -105,9 +105,11 @@ public:
/// block in a trace ensemble.
struct TraceBlockInfo {
/// Trace predecessor, or NULL for the first block in the trace.
+ /// Valid when hasValidDepth().
const MachineBasicBlock *Pred;
/// Trace successor, or NULL for the last block in the trace.
+ /// Valid when hasValidHeight().
const MachineBasicBlock *Succ;
/// The block number of the head of the trace. (When hasValidDepth()).
@@ -139,6 +141,8 @@ public:
/// Invalidate height resources when a block below this one has changed.
void invalidateHeight() { InstrHeight = ~0u; }
+
+ void print(raw_ostream&) const;
};
/// A trace represents a plausible sequence of executed basic blocks that
@@ -180,7 +184,8 @@ public:
public:
virtual ~Ensemble();
- virtual const char *getName() =0;
+ virtual const char *getName() const =0;
+ void print(raw_ostream&) const;
void invalidate(const MachineBasicBlock *MBB);
/// Get the trace that passes through MBB.
@@ -219,6 +224,11 @@ inline raw_ostream &operator<<(raw_ostream &OS,
return OS;
}
+inline raw_ostream &operator<<(raw_ostream &OS,
+ const MachineTraceMetrics::Ensemble &En) {
+ En.print(OS);
+ return OS;
+}
} // end namespace llvm
#endif