1 //===- lib/Target/SparcV9/MappingInfo.h ---------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file was developed by the LLVM research group and is distributed under
6 // the University of Illinois Open Source License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // Data structures to support the Reoptimizer's Instruction-to-MachineInstr
11 // mapping information gatherer.
13 //===----------------------------------------------------------------------===//
26 Pass *getMappingInfoAsmPrinterPass(std::ostream &out);
29 struct byteVector : public std::vector <unsigned char> {
30 void dumpAssembly (std::ostream &Out);
33 std::string symbolPrefix;
34 unsigned functionNumber;
37 void outByte (unsigned char b) { bytes.push_back (b); }
38 MappingInfo (std::string Comment, std::string SymbolPrefix,
39 unsigned FunctionNumber) : comment(Comment),
40 symbolPrefix(SymbolPrefix), functionNumber(FunctionNumber) {}
41 void dumpAssembly (std::ostream &Out);
42 unsigned char *getBytes (unsigned &length) {
43 length = bytes.size(); return &bytes[0];
47 } // End llvm namespace