AMDGPUInstPrinter.h revision 259065
120253Sjoerg//===-- AMDGPUInstPrinter.h - AMDGPU MC Inst -> ASM interface ---*- C++ -*-===// 220302Sjoerg// 320302Sjoerg// The LLVM Compiler Infrastructure 420253Sjoerg// 520253Sjoerg// This file is distributed under the University of Illinois Open Source 620253Sjoerg// License. See LICENSE.TXT for details. 720253Sjoerg// 820253Sjoerg//===----------------------------------------------------------------------===// 920302Sjoerg// 1020253Sjoerg/// \file 1120253Sjoerg//===----------------------------------------------------------------------===// 1220253Sjoerg 1320253Sjoerg#ifndef AMDGPUINSTPRINTER_H 1420302Sjoerg#define AMDGPUINSTPRINTER_H 1520253Sjoerg 1620253Sjoerg#include "llvm/ADT/StringRef.h" 1720302Sjoerg#include "llvm/MC/MCInstPrinter.h" 1820253Sjoerg#include "llvm/Support/raw_ostream.h" 1920253Sjoerg 2020253Sjoergnamespace llvm { 2120253Sjoerg 2220253Sjoergclass AMDGPUInstPrinter : public MCInstPrinter { 2320253Sjoergpublic: 2420253Sjoerg AMDGPUInstPrinter(const MCAsmInfo &MAI, const MCInstrInfo &MII, 2520253Sjoerg const MCRegisterInfo &MRI) 2620253Sjoerg : MCInstPrinter(MAI, MII, MRI) {} 2730259Scharnier 2830259Scharnier //Autogenerated by tblgen 2930259Scharnier void printInstruction(const MCInst *MI, raw_ostream &O); 3030259Scharnier static const char *getRegisterName(unsigned RegNo); 3130259Scharnier 3230259Scharnier virtual void printInst(const MCInst *MI, raw_ostream &O, StringRef Annot); 3330259Scharnier 3430259Scharnierprivate: 3520253Sjoerg void printOperand(const MCInst *MI, unsigned OpNo, raw_ostream &O); 3620253Sjoerg void printInterpSlot(const MCInst *MI, unsigned OpNum, raw_ostream &O); 3720253Sjoerg void printMemOperand(const MCInst *MI, unsigned OpNo, raw_ostream &O); 3830259Scharnier void printIfSet(const MCInst *MI, unsigned OpNo, raw_ostream &O, 3920253Sjoerg StringRef Asm, StringRef Default = ""); 4020253Sjoerg void printAbs(const MCInst *MI, unsigned OpNo, raw_ostream &O); 4130259Scharnier void printClamp(const MCInst *MI, unsigned OpNo, raw_ostream &O); 4220253Sjoerg void printLiteral(const MCInst *MI, unsigned OpNo, raw_ostream &O); 4320253Sjoerg void printLast(const MCInst *MI, unsigned OpNo, raw_ostream &O); 4420253Sjoerg void printNeg(const MCInst *MI, unsigned OpNo, raw_ostream &O); 4520253Sjoerg void printOMOD(const MCInst *MI, unsigned OpNo, raw_ostream &O); 4620253Sjoerg void printRel(const MCInst *MI, unsigned OpNo, raw_ostream &O); 4720253Sjoerg void printUpdateExecMask(const MCInst *MI, unsigned OpNo, raw_ostream &O); 4820253Sjoerg void printUpdatePred(const MCInst *MI, unsigned OpNo, raw_ostream &O); 4920253Sjoerg void printWrite(const MCInst *MI, unsigned OpNo, raw_ostream &O); 5020253Sjoerg void printSel(const MCInst *MI, unsigned OpNo, raw_ostream &O); 5120253Sjoerg void printBankSwizzle(const MCInst *MI, unsigned OpNo, raw_ostream &O); 5220253Sjoerg void printKCache(const MCInst *MI, unsigned OpNo, raw_ostream &O); 5320253Sjoerg}; 5430259Scharnier 5520253Sjoerg} // End namespace llvm 5620253Sjoerg 5720253Sjoerg#endif // AMDGPUINSTRPRINTER_H 5820253Sjoerg