LCOV - code coverage report
Current view: top level - include/llvm/IR - AssemblyAnnotationWriter.h (source / functions) Hit Total Coverage
Test: llvm-toolchain.info Lines: 10 10 100.0 %
Date: 2018-10-20 13:21:21 Functions: 6 7 85.7 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : //===-- AssemblyAnnotationWriter.h - Annotation .ll files -------*- C++ -*-===//
       2             : //
       3             : //                     The LLVM Compiler Infrastructure
       4             : //
       5             : // This file is distributed under the University of Illinois Open Source
       6             : // License. See LICENSE.TXT for details.
       7             : //
       8             : //===----------------------------------------------------------------------===//
       9             : //
      10             : // Clients of the assembly writer can use this interface to add their own
      11             : // special-purpose annotations to LLVM assembly language printouts.  Note that
      12             : // the assembly parser won't be able to parse these, in general, so
      13             : // implementations are advised to print stuff as LLVM comments.
      14             : //
      15             : //===----------------------------------------------------------------------===//
      16             : 
      17             : #ifndef LLVM_IR_ASSEMBLYANNOTATIONWRITER_H
      18             : #define LLVM_IR_ASSEMBLYANNOTATIONWRITER_H
      19             : 
      20             : namespace llvm {
      21             : 
      22             : class Function;
      23             : class BasicBlock;
      24             : class Instruction;
      25             : class Value;
      26             : class formatted_raw_ostream;
      27             : 
      28         135 : class AssemblyAnnotationWriter {
      29             : public:
      30             :   virtual ~AssemblyAnnotationWriter();
      31             : 
      32             :   /// emitFunctionAnnot - This may be implemented to emit a string right before
      33             :   /// the start of a function.
      34         134 :   virtual void emitFunctionAnnot(const Function *,
      35         134 :                                  formatted_raw_ostream &) {}
      36             : 
      37             :   /// emitBasicBlockStartAnnot - This may be implemented to emit a string right
      38             :   /// after the basic block label, but before the first instruction in the
      39             :   /// block.
      40          43 :   virtual void emitBasicBlockStartAnnot(const BasicBlock *,
      41             :                                         formatted_raw_ostream &) {
      42          43 :   }
      43             : 
      44             :   /// emitBasicBlockEndAnnot - This may be implemented to emit a string right
      45             :   /// after the basic block.
      46         426 :   virtual void emitBasicBlockEndAnnot(const BasicBlock *,
      47             :                                       formatted_raw_ostream &) {
      48         426 :   }
      49             : 
      50             :   /// emitInstructionAnnot - This may be implemented to emit a string right
      51             :   /// before an instruction is emitted.
      52          82 :   virtual void emitInstructionAnnot(const Instruction *,
      53          82 :                                     formatted_raw_ostream &) {}
      54             : 
      55             :   /// printInfoComment - This may be implemented to emit a comment to the
      56             :   /// right of an instruction or global value.
      57        1200 :   virtual void printInfoComment(const Value &, formatted_raw_ostream &) {}
      58             : };
      59             : 
      60             : } // End llvm namespace
      61             : 
      62             : #endif

Generated by: LCOV version 1.13