LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
X86ATTInstPrinter.h
Go to the documentation of this file.
1 //==- X86ATTInstPrinter.h - Convert X86 MCInst to assembly syntax -*- C++ -*-=//
2 //
3 // The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 //
10 // This class prints an X86 MCInst to AT&T style .s file syntax.
11 //
12 //===----------------------------------------------------------------------===//
13 
14 #ifndef X86_ATT_INST_PRINTER_H
15 #define X86_ATT_INST_PRINTER_H
16 
17 #include "llvm/MC/MCInstPrinter.h"
18 
19 namespace llvm {
20 
21 class MCOperand;
22 
24 public:
26  const MCRegisterInfo &MRI)
27  : MCInstPrinter(MAI, MII, MRI) {}
28 
29  virtual void printRegName(raw_ostream &OS, unsigned RegNo) const;
30  virtual void printInst(const MCInst *MI, raw_ostream &OS, StringRef Annot);
31 
32  // Autogenerated by tblgen, returns true if we successfully printed an
33  // alias.
34  bool printAliasInstr(const MCInst *MI, raw_ostream &OS);
35 
36  // Autogenerated by tblgen.
37  void printInstruction(const MCInst *MI, raw_ostream &OS);
38  static const char *getRegisterName(unsigned RegNo);
39 
40  void printOperand(const MCInst *MI, unsigned OpNo, raw_ostream &OS);
41  void printMemReference(const MCInst *MI, unsigned Op, raw_ostream &OS);
42  void printSSECC(const MCInst *MI, unsigned Op, raw_ostream &OS);
43  void printAVXCC(const MCInst *MI, unsigned Op, raw_ostream &OS);
44  void printPCRelImm(const MCInst *MI, unsigned OpNo, raw_ostream &OS);
45  void printMemOffset(const MCInst *MI, unsigned OpNo, raw_ostream &OS);
46 
47  void printopaquemem(const MCInst *MI, unsigned OpNo, raw_ostream &O) {
48  printMemReference(MI, OpNo, O);
49  }
50 
51  void printi8mem(const MCInst *MI, unsigned OpNo, raw_ostream &O) {
52  printMemReference(MI, OpNo, O);
53  }
54  void printi16mem(const MCInst *MI, unsigned OpNo, raw_ostream &O) {
55  printMemReference(MI, OpNo, O);
56  }
57  void printi32mem(const MCInst *MI, unsigned OpNo, raw_ostream &O) {
58  printMemReference(MI, OpNo, O);
59  }
60  void printi64mem(const MCInst *MI, unsigned OpNo, raw_ostream &O) {
61  printMemReference(MI, OpNo, O);
62  }
63  void printi128mem(const MCInst *MI, unsigned OpNo, raw_ostream &O) {
64  printMemReference(MI, OpNo, O);
65  }
66  void printi256mem(const MCInst *MI, unsigned OpNo, raw_ostream &O) {
67  printMemReference(MI, OpNo, O);
68  }
69  void printi512mem(const MCInst *MI, unsigned OpNo, raw_ostream &O) {
70  printMemReference(MI, OpNo, O);
71  }
72  void printf32mem(const MCInst *MI, unsigned OpNo, raw_ostream &O) {
73  printMemReference(MI, OpNo, O);
74  }
75  void printf64mem(const MCInst *MI, unsigned OpNo, raw_ostream &O) {
76  printMemReference(MI, OpNo, O);
77  }
78  void printf80mem(const MCInst *MI, unsigned OpNo, raw_ostream &O) {
79  printMemReference(MI, OpNo, O);
80  }
81  void printf128mem(const MCInst *MI, unsigned OpNo, raw_ostream &O) {
82  printMemReference(MI, OpNo, O);
83  }
84  void printf256mem(const MCInst *MI, unsigned OpNo, raw_ostream &O) {
85  printMemReference(MI, OpNo, O);
86  }
87  void printf512mem(const MCInst *MI, unsigned OpNo, raw_ostream &O) {
88  printMemReference(MI, OpNo, O);
89  }
90 
91  void printMemOffs8(const MCInst *MI, unsigned OpNo, raw_ostream &O) {
92  printMemOffset(MI, OpNo, O);
93  }
94  void printMemOffs16(const MCInst *MI, unsigned OpNo, raw_ostream &O) {
95  printMemOffset(MI, OpNo, O);
96  }
97  void printMemOffs32(const MCInst *MI, unsigned OpNo, raw_ostream &O) {
98  printMemOffset(MI, OpNo, O);
99  }
100  void printMemOffs64(const MCInst *MI, unsigned OpNo, raw_ostream &O) {
101  printMemOffset(MI, OpNo, O);
102  }
103 };
104 
105 }
106 
107 #endif
void printf128mem(const MCInst *MI, unsigned OpNo, raw_ostream &O)
void printi16mem(const MCInst *MI, unsigned OpNo, raw_ostream &O)
static const char * getRegisterName(unsigned RegNo)
void printopaquemem(const MCInst *MI, unsigned OpNo, raw_ostream &O)
void printMemOffs32(const MCInst *MI, unsigned OpNo, raw_ostream &O)
X86ATTInstPrinter(const MCAsmInfo &MAI, const MCInstrInfo &MII, const MCRegisterInfo &MRI)
void printf512mem(const MCInst *MI, unsigned OpNo, raw_ostream &O)
void printi512mem(const MCInst *MI, unsigned OpNo, raw_ostream &O)
void printAVXCC(const MCInst *MI, unsigned Op, raw_ostream &OS)
void printOperand(const MCInst *MI, unsigned OpNo, raw_ostream &OS)
void printi256mem(const MCInst *MI, unsigned OpNo, raw_ostream &O)
void printInstruction(const MCInst *MI, raw_ostream &OS)
void printMemOffset(const MCInst *MI, unsigned OpNo, raw_ostream &OS)
void printMemOffs8(const MCInst *MI, unsigned OpNo, raw_ostream &O)
void printf256mem(const MCInst *MI, unsigned OpNo, raw_ostream &O)
void printf32mem(const MCInst *MI, unsigned OpNo, raw_ostream &O)
void printi64mem(const MCInst *MI, unsigned OpNo, raw_ostream &O)
void printf64mem(const MCInst *MI, unsigned OpNo, raw_ostream &O)
void printMemReference(const MCInst *MI, unsigned Op, raw_ostream &OS)
void printMemOffs64(const MCInst *MI, unsigned OpNo, raw_ostream &O)
void printPCRelImm(const MCInst *MI, unsigned OpNo, raw_ostream &OS)
const MCAsmInfo & MAI
Definition: MCInstPrinter.h:39
void printi128mem(const MCInst *MI, unsigned OpNo, raw_ostream &O)
const MCInstrInfo & MII
Definition: MCInstPrinter.h:40
void printSSECC(const MCInst *MI, unsigned Op, raw_ostream &OS)
virtual void printRegName(raw_ostream &OS, unsigned RegNo) const
printRegName - Print the assembler register name.
void printf80mem(const MCInst *MI, unsigned OpNo, raw_ostream &O)
void printi8mem(const MCInst *MI, unsigned OpNo, raw_ostream &O)
bool printAliasInstr(const MCInst *MI, raw_ostream &OS)
virtual void printInst(const MCInst *MI, raw_ostream &OS, StringRef Annot)
void printMemOffs16(const MCInst *MI, unsigned OpNo, raw_ostream &O)
void printi32mem(const MCInst *MI, unsigned OpNo, raw_ostream &O)
const MCRegisterInfo & MRI
Definition: MCInstPrinter.h:41