Add a hook to AssemblyAnnotationWriter to allow custom info comments

to be printed, in place of the familiar "uses=" comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95798 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Dan Gohman 2010-02-10 20:41:46 +00:00
parent 7c1dfb9df2
commit 7a5666e7f3
2 changed files with 10 additions and 0 deletions

View File

@ -23,6 +23,7 @@ class Function;
class BasicBlock;
class Instruction;
class raw_ostream;
class formatted_raw_ostream;
class AssemblyAnnotationWriter {
public:
@ -46,6 +47,10 @@ public:
/// emitInstructionAnnot - This may be implemented to emit a string right
/// before an instruction is emitted.
virtual void emitInstructionAnnot(const Instruction *I, raw_ostream &OS) {}
/// printInfoComment - This may be implemented to emit a comment to the
/// right of an instruction or global value.
virtual void printInfoComment(const Value &V, formatted_raw_ostream &OS) {}
};
} // End llvm namespace

View File

@ -1694,6 +1694,11 @@ void AssemblyWriter::printBasicBlock(const BasicBlock *BB) {
/// which slot it occupies.
///
void AssemblyWriter::printInfoComment(const Value &V) {
if (AnnotationWriter) {
AnnotationWriter->printInfoComment(V, Out);
return;
}
if (V.getType()->isVoidTy()) return;
Out.PadToColumn(50);