AMDGPUInstPrinter.h revision 249259
1185222Ssam//===-- AMDGPUInstPrinter.h - AMDGPU MC Inst -> ASM interface ---*- C++ -*-===// 2185222Ssam// 3289739Sngie// The LLVM Compiler Infrastructure 4289739Sngie// 5185222Ssam// This file is distributed under the University of Illinois Open Source 6214921Scognet// License. See LICENSE.TXT for details. 7214921Scognet// 8214921Scognet//===----------------------------------------------------------------------===// 9214921Scognet// 10214921Scognet/// \file 11223306Smarcel//===----------------------------------------------------------------------===// 12214921Scognet 13185222Ssam#ifndef AMDGPUINSTPRINTER_H 14185222Ssam#define AMDGPUINSTPRINTER_H 15186251Ssam 16186251Ssam#include "llvm/ADT/StringRef.h" 17214921Scognet#include "llvm/MC/MCInstPrinter.h" 18214921Scognet#include "llvm/Support/raw_ostream.h" 19185222Ssam 20186271Ssamnamespace llvm { 21186271Ssam 22185222Ssamclass AMDGPUInstPrinter : public MCInstPrinter { 23250407Sbrookspublic: 24250407Sbrooks AMDGPUInstPrinter(const MCAsmInfo &MAI, const MCInstrInfo &MII, 25250407Sbrooks const MCRegisterInfo &MRI) 26186251Ssam : MCInstPrinter(MAI, MII, MRI) {} 27250407Sbrooks 28250407Sbrooks //Autogenerated by tblgen 29250407Sbrooks void printInstruction(const MCInst *MI, raw_ostream &O); 30250407Sbrooks static const char *getRegisterName(unsigned RegNo); 31186261Ssam 32186261Ssam virtual void printInst(const MCInst *MI, raw_ostream &O, StringRef Annot); 33186251Ssam 34250407Sbrooksprivate: 35274990Sbapt void printOperand(const MCInst *MI, unsigned OpNo, raw_ostream &O); 36223306Smarcel void printInterpSlot(const MCInst *MI, unsigned OpNum, raw_ostream &O); 37289739Sngie void printMemOperand(const MCInst *MI, unsigned OpNo, raw_ostream &O); 38289739Sngie void printIfSet(const MCInst *MI, unsigned OpNo, raw_ostream &O, StringRef Asm); 39289739Sngie void printAbs(const MCInst *MI, unsigned OpNo, raw_ostream &O); 40289739Sngie void printClamp(const MCInst *MI, unsigned OpNo, raw_ostream &O); 41185222Ssam void printLiteral(const MCInst *MI, unsigned OpNo, raw_ostream &O); 42 void printLast(const MCInst *MI, unsigned OpNo, raw_ostream &O); 43 void printNeg(const MCInst *MI, unsigned OpNo, raw_ostream &O); 44 void printOMOD(const MCInst *MI, unsigned OpNo, raw_ostream &O); 45 void printRel(const MCInst *MI, unsigned OpNo, raw_ostream &O); 46 void printUpdateExecMask(const MCInst *MI, unsigned OpNo, raw_ostream &O); 47 void printUpdatePred(const MCInst *MI, unsigned OpNo, raw_ostream &O); 48 void printWrite(const MCInst *MI, unsigned OpNo, raw_ostream &O); 49 void printSel(const MCInst *MI, unsigned OpNo, raw_ostream &O); 50}; 51 52} // End namespace llvm 53 54#endif // AMDGPUINSTRPRINTER_H 55