Temporarily restore the scavenger implicit_def checking code. MachineOperand isUndef...
[oota-llvm.git] / include / llvm / Assembly / AsmAnnotationWriter.h
index 192cb3de0b2f7f3f0ca9cab29722784168815a73..6c3ddaf7d0ab3519a370eefae866e7f3f85d85cb 100644 (file)
@@ -1,10 +1,10 @@
 //===-- 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.
-// 
+// This file 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
 #ifndef LLVM_ASSEMBLY_ASMANNOTATIONWRITER_H
 #define LLVM_ASSEMBLY_ASMANNOTATIONWRITER_H
 
-#include <iosfwd>
+namespace llvm {
+
 class Function;
 class BasicBlock;
 class Instruction;
+class raw_ostream;
+
+class AssemblyAnnotationWriter {
+public:
+
+  virtual ~AssemblyAnnotationWriter();
 
-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) {}
+  virtual void emitFunctionAnnot(const Function *F, 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){
+  }
 
-  // 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) {}
+  // emitBasicBlockEndAnnot - This may be implemented to emit a string right
+  // after the basic block.
+  virtual void emitBasicBlockEndAnnot(const BasicBlock *BB, raw_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) {}
+  virtual void emitInstructionAnnot(const Instruction *I, raw_ostream &OS) {}
 };
 
+} // End llvm namespace
+
 #endif