LLVM 22.0.0git
|
#include "Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h"
Static Public Member Functions | |
static const char * | getRegisterName (MCRegister Reg) |
Additional Inherited Members | |
Public Types inherited from llvm::MCInstPrinter | |
enum class | Markup { Immediate , Register , Target , Memory } |
Protected Member Functions inherited from llvm::MCInstPrinter | |
void | printAnnotation (raw_ostream &OS, StringRef Annot) |
Utility function for printing annotations. | |
const char * | matchAliasPatterns (const MCInst *MI, const MCSubtargetInfo *STI, const AliasMatchingData &M) |
Helper for matching MCInsts to alias patterns when printing instructions. | |
Protected Attributes inherited from llvm::MCInstPrinter | |
raw_ostream * | CommentStream = nullptr |
A stream that comments can be emitted to if desired. | |
const MCAsmInfo & | MAI |
const MCInstrInfo & | MII |
const MCRegisterInfo & | MRI |
const MCInstrAnalysis * | MIA = nullptr |
bool | UseMarkup = false |
True if we are printing marked up assembly. | |
bool | UseColor = false |
True if we are printing colored assembly. | |
bool | PrintAliases = true |
True if we prefer aliases (e.g. nop) to raw mnemonics. | |
bool | PrintImmHex = false |
True if we are printing immediates as hex. | |
HexStyle::Style | PrintHexStyle = HexStyle::C |
Which style to use for printing hexadecimal values. | |
bool | PrintBranchImmAsAddress = false |
If true, a branch immediate (e.g. | |
bool | SymbolizeOperands = false |
If true, symbolize branch target and memory reference operands. | |
SmallVector< raw_ostream::Colors, 4 > | ColorStack {raw_ostream::Colors::RESET} |
Definition at line 22 of file NVPTXInstPrinter.h.
NVPTXInstPrinter::NVPTXInstPrinter | ( | const MCAsmInfo & | MAI, |
const MCInstrInfo & | MII, | ||
const MCRegisterInfo & | MRI ) |
Definition at line 33 of file NVPTXInstPrinter.cpp.
References llvm::MCInstPrinter::MAI, llvm::MCInstPrinter::MCInstPrinter(), llvm::MCInstPrinter::MII, and llvm::MCInstPrinter::MRI.
|
overridevirtual |
Returns a pair containing the mnemonic for MI
and the number of bits left for further processing by printInstruction (generated by tablegen).
Implements llvm::MCInstPrinter.
References MI.
|
static |
Referenced by llvm::NVPTXRegisterInfo::getDwarfRegNum(), and printRegName().
void NVPTXInstPrinter::printAtomicCode | ( | const MCInst * | MI, |
int | OpNum, | ||
raw_ostream & | O, | ||
StringRef | Modifier = {} ) |
Definition at line 271 of file NVPTXInstPrinter.cpp.
References A(), llvm::NVPTX::Acquire, llvm::NVPTX::AcquireRelease, llvm::NVPTX::Block, llvm::c_str(), llvm::NVPTX::Cluster, llvm::NVPTX::Const, llvm::NVPTX::DefaultDevice, llvm::NVPTX::Device, llvm::NVPTX::PTXLdStInstCode::Float, llvm::formatv(), llvm::NVPTX::Generic, llvm::MCOperand::getImm(), llvm::NVPTX::Global, llvm_unreachable, llvm::NVPTX::Local, MI, llvm::NVPTX::NotAtomic, llvm::NVPTX::Param, llvm::NVPTX::Relaxed, llvm::NVPTX::RelaxedMMIO, llvm::NVPTX::Release, llvm::report_fatal_error(), llvm::NVPTX::SequentiallyConsistent, llvm::NVPTX::Shared, llvm::NVPTX::SharedCluster, llvm::NVPTX::PTXLdStInstCode::Signed, llvm::NVPTX::System, llvm::NVPTX::Thread, llvm::NVPTX::PTXLdStInstCode::Unsigned, llvm::NVPTX::PTXLdStInstCode::Untyped, and llvm::NVPTX::Volatile.
void NVPTXInstPrinter::printCallOperand | ( | const MCInst * | MI, |
int | OpNum, | ||
raw_ostream & | O, | ||
StringRef | Modifier = {} ) |
Definition at line 495 of file NVPTXInstPrinter.cpp.
References assert(), llvm::MCOperand::getImm(), I, llvm::interleaveComma(), llvm::MCOperand::isImm(), llvm_unreachable, MI, and llvm::seq().
void NVPTXInstPrinter::printCmpMode | ( | const MCInst * | MI, |
int | OpNum, | ||
raw_ostream & | O, | ||
StringRef | Modifier = {} ) |
Definition at line 165 of file NVPTXInstPrinter.cpp.
References llvm::NVPTX::PTXCmpMode::EQ, llvm::NVPTX::PTXCmpMode::EQU, llvm::NVPTX::PTXCmpMode::GE, llvm::MCOperand::getImm(), llvm::NVPTX::PTXCmpMode::GEU, llvm::NVPTX::PTXCmpMode::GT, llvm::NVPTX::PTXCmpMode::GTU, llvm::NVPTX::PTXCmpMode::LE, llvm::NVPTX::PTXCmpMode::LEU, llvm_unreachable, llvm::NVPTX::PTXCmpMode::LT, llvm::NVPTX::PTXCmpMode::LTU, MI, llvm::NVPTX::PTXCmpMode::NE, llvm::NVPTX::PTXCmpMode::NEU, llvm::NVPTX::PTXCmpMode::NotANumber, and llvm::NVPTX::PTXCmpMode::NUM.
void NVPTXInstPrinter::printCTAGroup | ( | const MCInst * | MI, |
int | OpNum, | ||
raw_ostream & | O ) |
Definition at line 476 of file NVPTXInstPrinter.cpp.
References llvm::MCOperand::getImm(), llvm_unreachable, and MI.
void NVPTXInstPrinter::printCvtMode | ( | const MCInst * | MI, |
int | OpNum, | ||
raw_ostream & | O, | ||
StringRef | Modifier = {} ) |
Definition at line 98 of file NVPTXInstPrinter.cpp.
References llvm::NVPTX::PTXCvtMode::BASE_MASK, llvm::NVPTX::PTXCvtMode::FTZ_FLAG, llvm::MCOperand::getImm(), llvm_unreachable, MI, llvm::NVPTX::PTXCvtMode::NONE, llvm::NVPTX::PTXCvtMode::RELU_FLAG, llvm::NVPTX::PTXCvtMode::RM, llvm::NVPTX::PTXCvtMode::RMI, llvm::NVPTX::PTXCvtMode::RN, llvm::NVPTX::PTXCvtMode::RNA, llvm::NVPTX::PTXCvtMode::RNI, llvm::NVPTX::PTXCvtMode::RP, llvm::NVPTX::PTXCvtMode::RPI, llvm::NVPTX::PTXCvtMode::RZ, llvm::NVPTX::PTXCvtMode::RZI, and llvm::NVPTX::PTXCvtMode::SAT_FLAG.
void NVPTXInstPrinter::printFTZFlag | ( | const MCInst * | MI, |
int | OpNum, | ||
raw_ostream & | O ) |
Definition at line 157 of file NVPTXInstPrinter.cpp.
References llvm::MCOperand::getImm(), and MI.
void NVPTXInstPrinter::printHexu32imm | ( | const MCInst * | MI, |
int | OpNum, | ||
raw_ostream & | O ) |
Definition at line 395 of file NVPTXInstPrinter.cpp.
References llvm::MCInstPrinter::formatHex(), and MI.
|
overridevirtual |
Print the specified MCInst to the specified raw_ostream.
Address
the address of current instruction on most targets, used to print a PC relative immediate as the target address. On targets where a PC relative immediate is relative to the next instruction and the length of a MCInst is difficult to measure (e.g. x86), this is the address of the next instruction. If Address is 0, the immediate will be printed.
Implements llvm::MCInstPrinter.
Definition at line 75 of file NVPTXInstPrinter.cpp.
References llvm::Address, MI, llvm::MCInstPrinter::printAnnotation(), and printInstruction().
void llvm::NVPTXInstPrinter::printInstruction | ( | const MCInst * | MI, |
uint64_t | Address, | ||
raw_ostream & | O ) |
References llvm::Address, and MI.
Referenced by printInst().
void NVPTXInstPrinter::printMemOperand | ( | const MCInst * | MI, |
int | OpNum, | ||
raw_ostream & | O, | ||
StringRef | Modifier = {} ) |
Definition at line 379 of file NVPTXInstPrinter.cpp.
References MI, and printOperand().
void NVPTXInstPrinter::printMmaCode | ( | const MCInst * | MI, |
int | OpNum, | ||
raw_ostream & | O, | ||
StringRef | Modifier = {} ) |
Definition at line 363 of file NVPTXInstPrinter.cpp.
References llvm::StringRef::empty(), llvm::MCOperand::getImm(), llvm_unreachable, and MI.
void NVPTXInstPrinter::printOperand | ( | const MCInst * | MI, |
unsigned | OpNo, | ||
raw_ostream & | O ) |
Definition at line 84 of file NVPTXInstPrinter.cpp.
References assert(), llvm::MCInstPrinter::formatImm(), llvm::MCInstPrinter::Immediate, llvm::MCInstPrinter::MAI, llvm::MCInstPrinter::markup(), MI, and printRegName().
Referenced by printMemOperand().
void NVPTXInstPrinter::printPrmtMode | ( | const MCInst * | MI, |
int | OpNum, | ||
raw_ostream & | O ) |
Definition at line 410 of file NVPTXInstPrinter.cpp.
References llvm::NVPTX::PTXPrmtMode::B4E, llvm::NVPTX::PTXPrmtMode::ECL, llvm::NVPTX::PTXPrmtMode::ECR, llvm::NVPTX::PTXPrmtMode::F4E, llvm::MCOperand::getImm(), MI, llvm::NVPTX::PTXPrmtMode::NONE, llvm::NVPTX::PTXPrmtMode::RC16, and llvm::NVPTX::PTXPrmtMode::RC8.
void NVPTXInstPrinter::printProtoIdent | ( | const MCInst * | MI, |
int | OpNum, | ||
raw_ostream & | O ) |
Definition at line 401 of file NVPTXInstPrinter.cpp.
References assert(), llvm::cast(), llvm::MCSymbol::getName(), and MI.
|
overridevirtual |
Print the assembler register name.
Reimplemented from llvm::MCInstPrinter.
Definition at line 37 of file NVPTXInstPrinter.cpp.
References getRegisterName(), and llvm::report_fatal_error().
Referenced by printOperand().
void NVPTXInstPrinter::printTmaReductionMode | ( | const MCInst * | MI, |
int | OpNum, | ||
raw_ostream & | O ) |
Definition at line 441 of file NVPTXInstPrinter.cpp.
References llvm::MCOperand::getImm(), llvm_unreachable, and MI.