From: Chris Lattner Date: Thu, 30 Oct 2003 23:39:52 +0000 (+0000) Subject: New interface X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=0836bf7bcf5d62393eb6c01f775368d43e3d45cb;p=oota-llvm.git New interface git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9618 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/Assembly/AsmAnnotationWriter.h b/include/llvm/Assembly/AsmAnnotationWriter.h new file mode 100644 index 00000000000..192cb3de0b2 --- /dev/null +++ b/include/llvm/Assembly/AsmAnnotationWriter.h @@ -0,0 +1,40 @@ +//===-- AsmAnnotationWriter.h - Itf for annotation .ll files - --*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file was developed by the LLVM research group and is distributed under +// the University of Illinois Open Source License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// Clients of the assembly writer can use this interface to add their own +// special-purpose annotations to LLVM assembly language printouts. Note that +// the assembly parser won't be able to parse these, in general, so +// implementations are advised to print stuff as LLVM comments. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_ASSEMBLY_ASMANNOTATIONWRITER_H +#define LLVM_ASSEMBLY_ASMANNOTATIONWRITER_H + +#include +class Function; +class BasicBlock; +class Instruction; + +struct AssemblyAnnotationWriter { + + // emitFunctionAnnot - This may be implemented to emit a string right before + // the start of a function. + virtual void emitFunctionAnnot(const Function *F, std::ostream &OS) {} + + // emitBasicBlockAnnot - This may be implemented to emit a string right after + // the basic block label, but before the first instruction in the block. + virtual void emitBasicBlockAnnot(const BasicBlock *BB, std::ostream &OS) {} + + // emitInstructionAnnot - This may be implemented to emit a string right + // before an instruction is emitted. + virtual void emitInstructionAnnot(const Instruction *I, std::ostream &OS) {} +}; + +#endif