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);
27 Pass *createInternalGlobalMapperPass();
30 struct byteVector : public std::vector <unsigned char> {
31 void dumpAssembly (std::ostream &Out);
34 std::string symbolPrefix;
35 unsigned functionNumber;
38 void outByte (unsigned char b) { bytes.push_back (b); }
39 MappingInfo (std::string Comment, std::string SymbolPrefix,
40 unsigned FunctionNumber) : comment(Comment),
41 symbolPrefix(SymbolPrefix), functionNumber(FunctionNumber) {}
42 void dumpAssembly (std::ostream &Out);
43 unsigned char *getBytes (unsigned &length) {
44 length = bytes.size(); return &bytes[0];
48 } // End llvm namespace