1
2#ifndef AMDGPUINSTPRINTER_H
3#define AMDGPUINSTPRINTER_H
4
5#include "llvm/ADT/StringRef.h"
6#include "llvm/MC/MCInstPrinter.h"
7#include "llvm/Support/raw_ostream.h"
8
9namespace llvm {
10
11class AMDGPUInstPrinter : public MCInstPrinter {
12public:
13  AMDGPUInstPrinter(const MCAsmInfo &MAI, const MCInstrInfo &MII,
14                     const MCRegisterInfo &MRI)
15    : MCInstPrinter(MAI, MII, MRI) {}
16
17  //Autogenerated by tblgen
18  void printInstruction(const MCInst *MI, raw_ostream &O);
19  static const char *getRegisterName(unsigned RegNo);
20
21//  virtual void printRegName(raw_ostream &OS, unsigned RegNo) const;
22  virtual void printInst(const MCInst *MI, raw_ostream &O, StringRef Annot);
23
24private:
25  void printOperand(const MCInst *MI, unsigned OpNo, raw_ostream &O);
26//  void printUnsignedImm(const MCInst *MI, int OpNo, raw_ostream &O);
27  void printMemOperand(const MCInst *MI, unsigned OpNo, raw_ostream &O);
28
29
30};
31
32} // End namespace llvm
33
34#endif // AMDGPUINSTRPRINTER_H
35