1 //===- lib/Target/Sparc/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 //===----------------------------------------------------------------------===//
23 Pass *getMappingInfoAsmPrinterPass(std::ostream &out);
26 struct byteVector : public std::vector <unsigned char> {
27 void dumpAssembly (std::ostream &Out);
30 std::string symbolPrefix;
31 unsigned functionNumber;
34 void outByte (unsigned char b) { bytes.push_back (b); }
35 MappingInfo (std::string Comment, std::string SymbolPrefix,
36 unsigned FunctionNumber) : comment(Comment),
37 symbolPrefix(SymbolPrefix), functionNumber(FunctionNumber) {}
38 void dumpAssembly (std::ostream &Out);
39 unsigned char *getBytes (unsigned &length) {
40 length = bytes.size(); return &bytes[0];