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