LLVM  14.0.0git
R600InstPrinter.h
Go to the documentation of this file.
1 //===-- R600InstPrinter.h - AMDGPU MC Inst -> ASM interface -----*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLVM_LIB_TARGET_AMDGPU_MCTARGETDESC_R600INSTPRINTER_H
10 #define LLVM_LIB_TARGET_AMDGPU_MCTARGETDESC_R600INSTPRINTER_H
11 
12 #include "llvm/MC/MCInstPrinter.h"
13 
14 namespace llvm {
15 
17 public:
19  const MCRegisterInfo &MRI)
20  : MCInstPrinter(MAI, MII, MRI) {}
21 
22  void printInst(const MCInst *MI, uint64_t Address, StringRef Annot,
23  const MCSubtargetInfo &STI, raw_ostream &O) override;
24  std::pair<const char *, uint64_t> getMnemonic(const MCInst *MI) override;
25  void printInstruction(const MCInst *MI, uint64_t Address, raw_ostream &O);
26  static const char *getRegisterName(unsigned RegNo);
27 
28  void printAbs(const MCInst *MI, unsigned OpNo, raw_ostream &O);
29  void printBankSwizzle(const MCInst *MI, unsigned OpNo, raw_ostream &O);
30  void printClamp(const MCInst *MI, unsigned OpNo, raw_ostream &O);
31  void printCT(const MCInst *MI, unsigned OpNo, raw_ostream &O);
32  void printKCache(const MCInst *MI, unsigned OpNo, raw_ostream &O);
33  void printLast(const MCInst *MI, unsigned OpNo, raw_ostream &O);
34  void printLiteral(const MCInst *MI, unsigned OpNo, raw_ostream &O);
35  void printMemOperand(const MCInst *MI, unsigned OpNo, raw_ostream &O);
36  void printNeg(const MCInst *MI, unsigned OpNo, raw_ostream &O);
37  void printOMOD(const MCInst *MI, unsigned OpNo, raw_ostream &O);
38  void printOperand(const MCInst *MI, unsigned OpNo, raw_ostream &O);
39  void printRel(const MCInst *MI, unsigned OpNo, raw_ostream &O);
40  void printRSel(const MCInst *MI, unsigned OpNo, raw_ostream &O);
41  void printUpdateExecMask(const MCInst *MI, unsigned OpNo, raw_ostream &O);
42  void printUpdatePred(const MCInst *MI, unsigned OpNo, raw_ostream &O);
43  void printWrite(const MCInst *MI, unsigned OpNo, raw_ostream &O);
44 };
45 
46 } // End namespace llvm
47 
48 #endif
llvm::MCInstPrinter::MII
const MCInstrInfo & MII
Definition: MCInstPrinter.h:50
MI
IRTranslator LLVM IR MI
Definition: IRTranslator.cpp:105
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition: AllocatorList.h:23
llvm::R600InstPrinter::printClamp
void printClamp(const MCInst *MI, unsigned OpNo, raw_ostream &O)
Definition: R600InstPrinter.cpp:58
llvm::R600InstPrinter::printBankSwizzle
void printBankSwizzle(const MCInst *MI, unsigned OpNo, raw_ostream &O)
Definition: R600InstPrinter.cpp:34
llvm::MCAsmInfo
This class is intended to be used as a base class for asm properties and features specific to the tar...
Definition: MCAsmInfo.h:56
llvm::R600InstPrinter::printCT
void printCT(const MCInst *MI, unsigned OpNo, raw_ostream &O)
Definition: R600InstPrinter.cpp:63
llvm::R600InstPrinter::printOMOD
void printOMOD(const MCInst *MI, unsigned OpNo, raw_ostream &O)
Definition: R600InstPrinter.cpp:112
llvm::R600InstPrinter::printNeg
void printNeg(const MCInst *MI, unsigned OpNo, raw_ostream &O)
Definition: R600InstPrinter.cpp:107
llvm::MCInst
Instances of this class represent a single low-level machine instruction.
Definition: MCInst.h:184
llvm::R600InstPrinter::getRegisterName
static const char * getRegisterName(unsigned RegNo)
llvm::MCInstPrinter::MRI
const MCRegisterInfo & MRI
Definition: MCInstPrinter.h:51
llvm::R600InstPrinter::printKCache
void printKCache(const MCInst *MI, unsigned OpNo, raw_ostream &O)
Definition: R600InstPrinter.cpp:77
llvm::R600InstPrinter::printLiteral
void printLiteral(const MCInst *MI, unsigned OpNo, raw_ostream &O)
Definition: R600InstPrinter.cpp:94
llvm::R600InstPrinter::printInst
void printInst(const MCInst *MI, uint64_t Address, StringRef Annot, const MCSubtargetInfo &STI, raw_ostream &O) override
Print the specified MCInst to the specified raw_ostream.
Definition: R600InstPrinter.cpp:21
llvm::R600InstPrinter::printRel
void printRel(const MCInst *MI, unsigned OpNo, raw_ostream &O)
Definition: R600InstPrinter.cpp:171
llvm::raw_ostream
This class implements an extremely fast bulk output stream that can only output to a stream.
Definition: raw_ostream.h:53
llvm::R600InstPrinter::printRSel
void printRSel(const MCInst *MI, unsigned OpNo, raw_ostream &O)
Definition: R600InstPrinter.cpp:176
llvm::R600InstPrinter::printUpdatePred
void printUpdatePred(const MCInst *MI, unsigned OpNo, raw_ostream &O)
Definition: R600InstPrinter.cpp:211
MCInstPrinter.h
llvm::R600InstPrinter::printUpdateExecMask
void printUpdateExecMask(const MCInst *MI, unsigned OpNo, raw_ostream &O)
Definition: R600InstPrinter.cpp:206
llvm::RISCVFenceField::O
@ O
Definition: RISCVBaseInfo.h:206
uint64_t
llvm::MCInstPrinter
This is an instance of a target assembly language printer that converts an MCInst to valid target ass...
Definition: MCInstPrinter.h:43
llvm::R600InstPrinter::printLast
void printLast(const MCInst *MI, unsigned OpNo, raw_ostream &O)
Definition: R600InstPrinter.cpp:89
llvm::StringRef
StringRef - Represent a constant reference to a string, i.e.
Definition: StringRef.h:57
llvm::MCRegisterInfo
MCRegisterInfo base class - We assume that the target defines a static array of MCRegisterDesc object...
Definition: MCRegisterInfo.h:135
llvm::MCInstrInfo
Interface to description of machine instruction set.
Definition: MCInstrInfo.h:25
llvm::R600InstPrinter::printAbs
void printAbs(const MCInst *MI, unsigned OpNo, raw_ostream &O)
Definition: R600InstPrinter.cpp:29
llvm::R600InstPrinter
Definition: R600InstPrinter.h:16
llvm::R600InstPrinter::R600InstPrinter
R600InstPrinter(const MCAsmInfo &MAI, const MCInstrInfo &MII, const MCRegisterInfo &MRI)
Definition: R600InstPrinter.h:18
llvm::R600InstPrinter::printOperand
void printOperand(const MCInst *MI, unsigned OpNo, raw_ostream &O)
Definition: R600InstPrinter.cpp:136
llvm::R600InstPrinter::getMnemonic
std::pair< const char *, uint64_t > getMnemonic(const MCInst *MI) override
Returns a pair containing the mnemonic for MI and the number of bits left for further processing by p...
llvm::MCInstPrinter::MAI
const MCAsmInfo & MAI
Definition: MCInstPrinter.h:49
llvm::R600InstPrinter::printWrite
void printWrite(const MCInst *MI, unsigned OpNo, raw_ostream &O)
Definition: R600InstPrinter.cpp:216
llvm::R600InstPrinter::printMemOperand
void printMemOperand(const MCInst *MI, unsigned OpNo, raw_ostream &O)
Definition: R600InstPrinter.cpp:129
llvm::R600InstPrinter::printInstruction
void printInstruction(const MCInst *MI, uint64_t Address, raw_ostream &O)
llvm::MCSubtargetInfo
Generic base class for all target subtargets.
Definition: MCSubtargetInfo.h:75