X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fllvm%2FAssembly%2FWriter.h;h=45c9513c54f512f310be63f9f863f5877701cb8e;hb=a727d5502c8e23c090da658bf14c5ebc1169a070;hp=07671a18a50f15f9096762517aca9a3bdc410247;hpb=5e1cfc58c1907eb70710c54808762657cf625180;p=oota-llvm.git diff --git a/include/llvm/Assembly/Writer.h b/include/llvm/Assembly/Writer.h index 07671a18a50..45c9513c54f 100644 --- a/include/llvm/Assembly/Writer.h +++ b/include/llvm/Assembly/Writer.h @@ -1,15 +1,16 @@ -//===-- llvm/Assembly/Writer.h - Printer for VM assembly files ---*- C++ -*--=// +//===-- llvm/Assembly/Writer.h - Printer for LLVM assembly files --*- C++ -*-=// // -// This functionality is implemented by the lib/Assembly/Writer library. -// This library is used to print VM assembly language files to an iostream. It -// can print VM code at a variety of granularities, ranging from a whole class -// down to an individual instruction. This makes it useful for debugging. +// The LLVM Compiler Infrastructure // -// This file also defines functions that allow it to output files that a program -// called VCG can read. +// 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 library uses the Analysis library to figure out offsets for -// variables in the method tables... +//===----------------------------------------------------------------------===// +// +// This functionality is implemented by lib/VMCore/AsmWriter.cpp. +// This library is used to print LLVM assembly language files to an iostream. It +// can print LLVM code at a variety of granularities, including Modules, +// BasicBlocks, and Instructions. This makes it useful for debugging. // //===----------------------------------------------------------------------===// @@ -17,24 +18,28 @@ #define LLVM_ASSEMBLY_WRITER_H #include + +namespace llvm { + class Type; class Module; class Value; -class SlotCalculator; - // WriteTypeSymbolic - This attempts to write the specified type as a symbolic -// type, iff there is an entry in the modules symbol table for the specified -// type or one of it's component types. This is slower than a simple x << Type; +// type, iff there is an entry in the Module's symbol table for the specified +// type or one of its component types. This is slower than a simple x << Type; // std::ostream &WriteTypeSymbolic(std::ostream &, const Type *, const Module *M); - // WriteAsOperand - Write the name of the specified value out to the specified // ostream. This can be useful when you just want to print int %reg126, not the -// whole instruction that generated it. +// whole instruction that generated it. If you specify a Module for context, +// then even constants get pretty-printed; for example, the type of a null +// pointer is printed symbolically. // std::ostream &WriteAsOperand(std::ostream &, const Value *, bool PrintTy = true, - bool PrintName = true, SlotCalculator *Table = 0); + const Module *Context = 0); + +} // End llvm namespace #endif