1193323Sed//===-- llvm/Assembly/Writer.h - Printer for LLVM assembly files --*- C++ -*-=// 2193323Sed// 3193323Sed// The LLVM Compiler Infrastructure 4193323Sed// 5193323Sed// This file is distributed under the University of Illinois Open Source 6193323Sed// License. See LICENSE.TXT for details. 7193323Sed// 8193323Sed//===----------------------------------------------------------------------===// 9193323Sed// 10193323Sed// This functionality is implemented by lib/VMCore/AsmWriter.cpp. 11193323Sed// This library is used to print LLVM assembly language files to an iostream. It 12193323Sed// can print LLVM code at a variety of granularities, including Modules, 13193323Sed// BasicBlocks, and Instructions. This makes it useful for debugging. 14193323Sed// 15193323Sed//===----------------------------------------------------------------------===// 16193323Sed 17193323Sed#ifndef LLVM_ASSEMBLY_WRITER_H 18193323Sed#define LLVM_ASSEMBLY_WRITER_H 19193323Sed 20193323Sednamespace llvm { 21193323Sed 22193323Sedclass Module; 23193323Sedclass Value; 24193323Sedclass raw_ostream; 25193323Sed 26193323Sed// WriteAsOperand - Write the name of the specified value out to the specified 27193323Sed// ostream. This can be useful when you just want to print int %reg126, not the 28193323Sed// whole instruction that generated it. If you specify a Module for context, 29193323Sed// then even constants get pretty-printed; for example, the type of a null 30193323Sed// pointer is printed symbolically. 31193323Sed// 32193323Sedvoid WriteAsOperand(raw_ostream &, const Value *, bool PrintTy = true, 33193323Sed const Module *Context = 0); 34193323Sed 35193323Sed} // End llvm namespace 36193323Sed 37193323Sed#endif 38