1 //===-- llvm/Assembly/Writer.h - Printer for LLVM assembly 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 // This functionality is implemented by lib/VMCore/AsmWriter.cpp. 11 // This library is used to print LLVM assembly language files to an iostream. It 12 // can print LLVM code at a variety of granularities, including Modules, 13 // BasicBlocks, and Instructions. This makes it useful for debugging. 14 // 15 //===----------------------------------------------------------------------===// 16 17 #ifndef LLVM_ASSEMBLY_WRITER_H 18 #define LLVM_ASSEMBLY_WRITER_H 19 20 namespace llvm { 21 22 class Type; 23 class Module; 24 class Value; 25 class raw_ostream; 26 27 // WriteAsOperand - Write the name of the specified value out to the specified 28 // ostream. This can be useful when you just want to print int %reg126, not the 29 // whole instruction that generated it. If you specify a Module for context, 30 // then even constants get pretty-printed; for example, the type of a null 31 // pointer is printed symbolically. 32 // 33 void WriteAsOperand(raw_ostream &, const Value *, bool PrintTy = true, 34 const Module *Context = 0); 35 36 } // End llvm namespace 37 38 #endif 39