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