mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 19:23:23 +01:00
AsmPrinter has a formatted stream, pass it down through AsmAnnotationWriter
llvm-svn: 112903
This commit is contained in:
parent
32cecc0ecc
commit
a06feeb64b
@ -32,21 +32,26 @@ public:
|
||||
|
||||
/// emitFunctionAnnot - This may be implemented to emit a string right before
|
||||
/// the start of a function.
|
||||
virtual void emitFunctionAnnot(const Function *F, raw_ostream &OS) {}
|
||||
virtual void emitFunctionAnnot(const Function *F,
|
||||
formatted_raw_ostream &OS) {}
|
||||
|
||||
/// emitBasicBlockStartAnnot - This may be implemented to emit a string right
|
||||
/// after the basic block label, but before the first instruction in the block.
|
||||
virtual void emitBasicBlockStartAnnot(const BasicBlock *BB, raw_ostream &OS){
|
||||
/// after the basic block label, but before the first instruction in the
|
||||
/// block.
|
||||
virtual void emitBasicBlockStartAnnot(const BasicBlock *BB,
|
||||
formatted_raw_ostream &OS){
|
||||
}
|
||||
|
||||
/// emitBasicBlockEndAnnot - This may be implemented to emit a string right
|
||||
/// after the basic block.
|
||||
virtual void emitBasicBlockEndAnnot(const BasicBlock *BB, raw_ostream &OS){
|
||||
virtual void emitBasicBlockEndAnnot(const BasicBlock *BB,
|
||||
formatted_raw_ostream &OS){
|
||||
}
|
||||
|
||||
/// emitInstructionAnnot - This may be implemented to emit a string right
|
||||
/// before an instruction is emitted.
|
||||
virtual void emitInstructionAnnot(const Instruction *I, raw_ostream &OS) {}
|
||||
virtual void emitInstructionAnnot(const Instruction *I,
|
||||
formatted_raw_ostream &OS) {}
|
||||
|
||||
/// printInfoComment - This may be implemented to emit a comment to the
|
||||
/// right of an instruction or global value.
|
||||
|
@ -23,6 +23,7 @@
|
||||
#include "llvm/Analysis/Passes.h"
|
||||
#include "llvm/Bitcode/ReaderWriter.h"
|
||||
#include "llvm/Support/CommandLine.h"
|
||||
#include "llvm/Support/FormattedStream.h"
|
||||
#include "llvm/Support/ManagedStatic.h"
|
||||
#include "llvm/Support/MemoryBuffer.h"
|
||||
#include "llvm/Support/PrettyStackTrace.h"
|
||||
@ -75,9 +76,10 @@ namespace {
|
||||
class ProfileAnnotator : public AssemblyAnnotationWriter {
|
||||
ProfileInfo Π
|
||||
public:
|
||||
ProfileAnnotator(ProfileInfo& pi) : PI(pi) {}
|
||||
ProfileAnnotator(ProfileInfo &pi) : PI(pi) {}
|
||||
|
||||
virtual void emitFunctionAnnot(const Function *F, raw_ostream &OS) {
|
||||
virtual void emitFunctionAnnot(const Function *F,
|
||||
formatted_raw_ostream &OS) {
|
||||
double w = PI.getExecutionCount(F);
|
||||
if (w != ProfileInfo::MissingValue) {
|
||||
OS << ";;; %" << F->getName() << " called "<<(unsigned)w
|
||||
@ -85,7 +87,7 @@ namespace {
|
||||
}
|
||||
}
|
||||
virtual void emitBasicBlockStartAnnot(const BasicBlock *BB,
|
||||
raw_ostream &OS) {
|
||||
formatted_raw_ostream &OS) {
|
||||
double w = PI.getExecutionCount(BB);
|
||||
if (w != ProfileInfo::MissingValue) {
|
||||
if (w != 0) {
|
||||
@ -96,7 +98,8 @@ namespace {
|
||||
}
|
||||
}
|
||||
|
||||
virtual void emitBasicBlockEndAnnot(const BasicBlock *BB, raw_ostream &OS) {
|
||||
virtual void emitBasicBlockEndAnnot(const BasicBlock *BB,
|
||||
formatted_raw_ostream &OS) {
|
||||
// Figure out how many times each successor executed.
|
||||
std::vector<std::pair<ProfileInfo::Edge, double> > SuccCounts;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user