Index: llvm/trunk/include/llvm/Support/DebugCounter.h =================================================================== --- llvm/trunk/include/llvm/Support/DebugCounter.h +++ llvm/trunk/include/llvm/Support/DebugCounter.h @@ -121,10 +121,10 @@ Us.Counters[ID] = Val; } - // Dump or print the current counter set. - LLVM_DUMP_METHOD void dump() { print(dbgs()); } + // Dump or print the current counter set into llvm::dbgs(). + LLVM_DUMP_METHOD void dump() const; - void print(raw_ostream &OS); + void print(raw_ostream &OS) const; // Get the counter ID for a given named counter, or return 0 if none is found. unsigned getCounterId(const std::string &Name) const { Index: llvm/trunk/include/llvm/Transforms/Scalar/GVNExpression.h =================================================================== --- llvm/trunk/include/llvm/Transforms/Scalar/GVNExpression.h +++ llvm/trunk/include/llvm/Transforms/Scalar/GVNExpression.h @@ -121,10 +121,7 @@ OS << "}"; } - LLVM_DUMP_METHOD void dump() const { - print(dbgs()); - dbgs() << "\n"; - } + LLVM_DUMP_METHOD void dump() const; }; inline raw_ostream &operator<<(raw_ostream &OS, const Expression &E) { Index: llvm/trunk/lib/Support/DebugCounter.cpp =================================================================== --- llvm/trunk/lib/Support/DebugCounter.cpp +++ llvm/trunk/lib/Support/DebugCounter.cpp @@ -102,9 +102,13 @@ } } -void DebugCounter::print(raw_ostream &OS) { +void DebugCounter::print(raw_ostream &OS) const { OS << "Counters and values:\n"; for (const auto &KV : Counters) OS << left_justify(RegisteredCounters[KV.first], 32) << ": {" << KV.second.first << "," << KV.second.second << "}\n"; } + +LLVM_DUMP_METHOD void DebugCounter::dump() const { + print(dbgs()); +} Index: llvm/trunk/lib/Transforms/Scalar/GVNSink.cpp =================================================================== --- llvm/trunk/lib/Transforms/Scalar/GVNSink.cpp +++ llvm/trunk/lib/Transforms/Scalar/GVNSink.cpp @@ -64,6 +64,17 @@ STATISTIC(NumRemoved, "Number of instructions removed"); +namespace llvm { +namespace GVNExpression { + +LLVM_DUMP_METHOD void Expression::dump() const { + print(dbgs()); + dbgs() << "\n"; +} + +} +} + namespace { static bool isMemoryInst(const Instruction *I) {