LLVM 20.0.0git
|
This is an instance of a target assembly language printer that converts an MCInst to valid target assembly syntax. More...
#include "llvm/MC/MCInstPrinter.h"
Classes | |
class | WithMarkup |
Public Types | |
enum class | Markup { Immediate , Register , Target , Memory } |
Public Member Functions | |
MCInstPrinter (const MCAsmInfo &mai, const MCInstrInfo &mii, const MCRegisterInfo &mri) | |
virtual | ~MCInstPrinter () |
virtual bool | applyTargetSpecificCLOption (StringRef Opt) |
Customize the printer according to a command line option. | |
void | setCommentStream (raw_ostream &OS) |
Specify a stream to emit comments to. | |
virtual std::pair< const char *, uint64_t > | getMnemonic (const MCInst &MI) const =0 |
Returns a pair containing the mnemonic for MI and the number of bits left for further processing by printInstruction (generated by tablegen). | |
virtual void | printInst (const MCInst *MI, uint64_t Address, StringRef Annot, const MCSubtargetInfo &STI, raw_ostream &OS)=0 |
Print the specified MCInst to the specified raw_ostream. | |
StringRef | getOpcodeName (unsigned Opcode) const |
Return the name of the specified opcode enum (e.g. | |
virtual void | printRegName (raw_ostream &OS, MCRegister Reg) |
Print the assembler register name. | |
bool | getUseMarkup () const |
void | setUseMarkup (bool Value) |
bool | getUseColor () const |
void | setUseColor (bool Value) |
WithMarkup | markup (raw_ostream &OS, Markup M) |
bool | getPrintImmHex () const |
void | setPrintImmHex (bool Value) |
void | setPrintHexStyle (HexStyle::Style Value) |
void | setPrintBranchImmAsAddress (bool Value) |
void | setSymbolizeOperands (bool Value) |
void | setMCInstrAnalysis (const MCInstrAnalysis *Value) |
format_object< int64_t > | formatImm (int64_t Value) const |
Utility function to print immediates in decimal or hex. | |
format_object< int64_t > | formatDec (int64_t Value) const |
Utility functions to print decimal/hexadecimal values. | |
format_object< int64_t > | formatHex (int64_t Value) const |
format_object< uint64_t > | formatHex (uint64_t Value) const |
Protected Member Functions | |
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 | |
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} |
This is an instance of a target assembly language printer that converts an MCInst to valid target assembly syntax.
Definition at line 46 of file MCInstPrinter.h.
|
strong |
Enumerator | |
---|---|
Immediate | |
Register | |
Target | |
Memory |
Definition at line 95 of file MCInstPrinter.h.
|
inline |
Definition at line 90 of file MCInstPrinter.h.
|
virtualdefault |
Customize the printer according to a command line option.
Reimplemented in llvm::AArch64InstPrinter, llvm::ARMInstPrinter, llvm::CSKYInstPrinter, llvm::LoongArchInstPrinter, and llvm::RISCVInstPrinter.
Definition at line 127 of file MCInstPrinter.h.
format_object< int64_t > MCInstPrinter::formatDec | ( | int64_t | Value | ) | const |
Utility functions to print decimal/hexadecimal values.
Definition at line 186 of file MCInstPrinter.cpp.
References llvm::format().
Referenced by formatImm(), llvm::AMDGPUInstPrinter::printEndpgm(), llvm::AArch64InstPrinter::printImmSVE(), llvm::AArch64InstPrinter::printInst(), and llvm::AMDGPUInstPrinter::printSwizzle().
format_object< int64_t > MCInstPrinter::formatHex | ( | int64_t | Value | ) | const |
Definition at line 190 of file MCInstPrinter.cpp.
References llvm::HexStyle::Asm, llvm::HexStyle::C, llvm::format(), llvm_unreachable, needsLeadingZero(), and PrintHexStyle.
Referenced by formatImm(), llvm::PPCInstPrinter::printAbsBranchOperand(), llvm::AArch64InstPrinter::printAdrAdrpLabel(), llvm::AArch64InstPrinter::printAlignedLabel(), llvm::PPCInstPrinter::printBranchOperand(), llvm::RISCVInstPrinter::printBranchOperand(), llvm::CSKYInstPrinter::printConstpool(), llvm::CSKYInstPrinter::printCSKYSymbolOperand(), llvm::AMDGPUInstPrinter::printDepCtr(), llvm::NVPTXInstPrinter::printHexu32imm(), llvm::LanaiInstPrinter::printHi16AndImmOperand(), llvm::LanaiInstPrinter::printHi16ImmOperand(), llvm::AArch64InstPrinter::printImmSVE(), llvm::AArch64InstPrinter::printInst(), llvm::LanaiInstPrinter::printLo16AndImmOperand(), llvm::LanaiInstPrinter::printMemImmOperand(), llvm::ARMInstPrinter::printOperand(), llvm::CSKYInstPrinter::printOperand(), llvm::LanaiInstPrinter::printOperand(), llvm::X86InstPrinterCommon::printPCRelImm(), and llvm::AArch64InstPrinter::printSVELogicalImm().
format_object< uint64_t > MCInstPrinter::formatHex | ( | uint64_t | Value | ) | const |
Definition at line 214 of file MCInstPrinter.cpp.
References llvm::HexStyle::Asm, llvm::HexStyle::C, llvm::format(), llvm_unreachable, needsLeadingZero(), and PrintHexStyle.
|
inline |
Utility function to print immediates in decimal or hex.
Definition at line 175 of file MCInstPrinter.h.
References formatDec(), formatHex(), and PrintImmHex.
Referenced by llvm::ARMInstPrinter::printAddrModeImm12Operand(), llvm::AArch64InstPrinter::printAddSubImm(), llvm::AArch64InstPrinter::printAlignedLabel(), llvm::AArch64InstPrinter::printAMIndexedWB(), llvm::RISCVInstPrinter::printBranchOperand(), llvm::BPFInstPrinter::printBrTargetOperand(), llvm::AArch64InstPrinter::printBTIHintOp(), llvm::RISCVInstPrinter::printCSRSystemRegister(), llvm::AArch64InstPrinter::printImm(), llvm::BPFInstPrinter::printImm64Operand(), llvm::AArch64InstPrinter::printImm8OptLsl(), llvm::ARMInstPrinter::printImmPlusOneOperand(), llvm::AArch64InstPrinter::printImmRangeScale(), llvm::AArch64InstPrinter::printImmScale(), llvm::AArch64InstPrinter::printInst(), llvm::X86IntelInstPrinter::printMemOffset(), llvm::X86ATTInstPrinter::printMemOffset(), llvm::BPFInstPrinter::printMemOperand(), llvm::X86IntelInstPrinter::printMemReference(), llvm::X86ATTInstPrinter::printMemReference(), llvm::ARMInstPrinter::printOperand(), llvm::RISCVInstPrinter::printOperand(), llvm::NVPTXInstPrinter::printOperand(), llvm::X86IntelInstPrinter::printOperand(), llvm::BPFInstPrinter::printOperand(), llvm::SPIRVInstPrinter::printOperand(), llvm::X86ATTInstPrinter::printOperand(), llvm::HexagonInstPrinter::printOperand(), llvm::X86InstPrinterCommon::printPCRelImm(), llvm::AArch64InstPrinter::printPHintOp(), llvm::AArch64InstPrinter::printPrefetchOp(), llvm::AArch64InstPrinter::printPSBHintOp(), llvm::AArch64InstPrinter::printRangePrefetchAlias(), llvm::AArch64InstPrinter::printRPRFMOperand(), llvm::AArch64InstPrinter::printSImm(), llvm::AArch64InstPrinter::printSVEPattern(), llvm::AArch64InstPrinter::printSystemPStateField(), llvm::ARMInstPrinter::printT2AddrModeImm0_1020s4Operand(), llvm::ARMInstPrinter::printThumbAddrModeImm5SOperand(), llvm::ARMInstPrinter::printThumbLdrLabelOperand(), llvm::ARMInstPrinter::printThumbS4ImmOperand(), llvm::ARMInstPrinter::printThumbSRImm(), llvm::X86IntelInstPrinter::printU8Imm(), llvm::X86ATTInstPrinter::printU8Imm(), llvm::AArch64InstPrinter::printUImm12Offset(), and llvm::RISCVInstPrinter::printVTypeI().
|
pure virtual |
Returns a pair containing the mnemonic for MI
and the number of bits left for further processing by printInstruction (generated by tablegen).
Implemented in llvm::AArch64InstPrinter, llvm::AArch64AppleInstPrinter, llvm::AMDGPUInstPrinter, llvm::R600InstPrinter, llvm::ARCInstPrinter, llvm::ARMInstPrinter, llvm::BPFInstPrinter, llvm::CSKYInstPrinter, llvm::HexagonInstPrinter, llvm::LanaiInstPrinter, llvm::LoongArchInstPrinter, llvm::M68kInstPrinter, llvm::MipsInstPrinter, llvm::MSP430InstPrinter, llvm::NVPTXInstPrinter, llvm::PPCInstPrinter, llvm::RISCVInstPrinter, llvm::SparcInstPrinter, llvm::SPIRVInstPrinter, llvm::SystemZGNUInstPrinter, llvm::SystemZHLASMInstPrinter, llvm::VEInstPrinter, llvm::WebAssemblyInstPrinter, llvm::X86ATTInstPrinter, llvm::X86IntelInstPrinter, llvm::XCoreInstPrinter, and llvm::XtensaInstPrinter.
Return the name of the specified opcode enum (e.g.
getOpcodeName - Return the name of the specified opcode enum (e.g.
"MOV32ri") or empty if we can't resolve it.
Definition at line 42 of file MCInstPrinter.cpp.
References llvm::MCInstrInfo::getName(), and MII.
|
inline |
Definition at line 162 of file MCInstPrinter.h.
References PrintImmHex.
Referenced by llvm::AArch64InstPrinter::printImmSVE(), and llvm::AArch64InstPrinter::printInst().
|
inline |
|
inline |
Definition at line 154 of file MCInstPrinter.h.
References UseMarkup.
Referenced by markup(), and llvm::ARMInstPrinter::printOperand().
MCInstPrinter::WithMarkup MCInstPrinter::markup | ( | raw_ostream & | OS, |
Markup | M | ||
) |
Definition at line 227 of file MCInstPrinter.cpp.
References getUseColor(), getUseMarkup(), and OS.
Referenced by llvm::ARMInstPrinter::printAddrMode2OffsetOperand(), llvm::ARMInstPrinter::printAddrMode3OffsetOperand(), llvm::ARMInstPrinter::printAddrMode5FP16Operand(), llvm::ARMInstPrinter::printAddrMode5Operand(), llvm::ARMInstPrinter::printAddrMode6Operand(), llvm::ARMInstPrinter::printAddrMode7Operand(), llvm::ARMInstPrinter::printAddrModeImm12Operand(), llvm::ARMInstPrinter::printAddrModeTBB(), llvm::ARMInstPrinter::printAddrModeTBH(), llvm::AArch64InstPrinter::printAddSubImm(), llvm::AArch64InstPrinter::printAdrAdrpLabel(), llvm::ARMInstPrinter::printAdrLabelOperand(), llvm::AArch64InstPrinter::printAlignedLabel(), llvm::ARMInstPrinter::printAM2PreOrOffsetIndexOp(), llvm::ARMInstPrinter::printAM3PreOrOffsetIndexOp(), llvm::AArch64InstPrinter::printAMIndexedWB(), llvm::AArch64InstPrinter::printArithExtend(), llvm::AArch64InstPrinter::printBarriernXSOption(), llvm::AArch64InstPrinter::printBarrierOption(), llvm::ARMInstPrinter::printBitfieldInvMaskImmOperand(), llvm::RISCVInstPrinter::printBranchOperand(), llvm::AArch64InstPrinter::printBTIHintOp(), llvm::AArch64InstPrinter::printComplexRotationOp(), llvm::RISCVInstPrinter::printCSRSystemRegister(), llvm::X86ATTInstPrinter::printDstIdx(), llvm::X86IntelInstPrinter::printDstIdx(), llvm::AArch64InstPrinter::printExactFPImm(), llvm::ARMInstPrinter::printFBits16(), llvm::ARMInstPrinter::printFBits32(), llvm::RISCVInstPrinter::printFPImmOperand(), llvm::AArch64InstPrinter::printFPImmOperand(), llvm::ARMInstPrinter::printFPImmOperand(), llvm::AArch64InstPrinter::printImm(), llvm::AArch64InstPrinter::printImm8OptLsl(), llvm::AArch64InstPrinter::printImmHex(), llvm::ARMInstPrinter::printImmPlusOneOperand(), llvm::AArch64InstPrinter::printImmScale(), llvm::AArch64InstPrinter::printImmSVE(), llvm::AArch64InstPrinter::printInst(), llvm::AArch64AppleInstPrinter::printInst(), llvm::ARMInstPrinter::printInst(), llvm::AArch64InstPrinter::printLogicalImm(), llvm::AArch64InstPrinter::printMemExtendImpl(), llvm::X86IntelInstPrinter::printMemOffset(), llvm::X86ATTInstPrinter::printMemOffset(), llvm::X86IntelInstPrinter::printMemReference(), llvm::X86ATTInstPrinter::printMemReference(), llvm::ARMInstPrinter::printModImmOperand(), llvm::ARMInstPrinter::printMveAddrModeRQOperand(), llvm::ARMInstPrinter::printOperand(), llvm::RISCVInstPrinter::printOperand(), llvm::NVPTXInstPrinter::printOperand(), llvm::X86IntelInstPrinter::printOperand(), llvm::X86ATTInstPrinter::printOperand(), llvm::SystemZInstPrinterCommon::printOperand(), llvm::X86InstPrinterCommon::printPCRelImm(), llvm::SystemZInstPrinterCommon::printPCRelOperand(), llvm::AArch64InstPrinter::printPHintOp(), llvm::ARMInstPrinter::printPKHASRShiftImm(), llvm::ARMInstPrinter::printPKHLSLShiftImm(), llvm::ARMInstPrinter::printPostIdxImm8Operand(), llvm::ARMInstPrinter::printPostIdxImm8s4Operand(), llvm::AArch64InstPrinter::printPostIncOperand(), llvm::AArch64InstPrinter::printPrefetchOp(), llvm::AArch64InstPrinter::printPSBHintOp(), llvm::RISCVInstPrinter::printRegName(), llvm::AArch64InstPrinter::printRegName(), llvm::ARMInstPrinter::printRegName(), llvm::MipsInstPrinter::printRegName(), llvm::X86ATTInstPrinter::printRegName(), llvm::X86IntelInstPrinter::printRegName(), llvm::ARMInstPrinter::printRotImmOperand(), llvm::AArch64InstPrinter::printShifter(), llvm::ARMInstPrinter::printShiftImmOperand(), llvm::AArch64InstPrinter::printSIMDType10Operand(), llvm::AArch64InstPrinter::printSImm(), llvm::SystemZInstPrinterCommon::printSImmOperand(), llvm::X86ATTInstPrinter::printSrcIdx(), llvm::X86IntelInstPrinter::printSrcIdx(), llvm::RISCVInstPrinter::printStackAdj(), llvm::X86ATTInstPrinter::printSTiRegOperand(), llvm::AArch64InstPrinter::printSVELogicalImm(), llvm::AArch64InstPrinter::printSVEPattern(), llvm::ARMInstPrinter::printT2AddrModeImm0_1020s4Operand(), llvm::ARMInstPrinter::printT2AddrModeImm8OffsetOperand(), llvm::ARMInstPrinter::printT2AddrModeImm8Operand(), llvm::ARMInstPrinter::printT2AddrModeImm8s4OffsetOperand(), llvm::ARMInstPrinter::printT2AddrModeImm8s4Operand(), llvm::ARMInstPrinter::printT2AddrModeSoRegOperand(), llvm::ARMInstPrinter::printThumbAddrModeImm5SOperand(), llvm::ARMInstPrinter::printThumbAddrModeRROperand(), llvm::ARMInstPrinter::printThumbLdrLabelOperand(), llvm::ARMInstPrinter::printThumbS4ImmOperand(), llvm::ARMInstPrinter::printThumbSRImm(), llvm::X86IntelInstPrinter::printU8Imm(), llvm::X86ATTInstPrinter::printU8Imm(), llvm::AArch64InstPrinter::printUImm12Offset(), llvm::SystemZInstPrinterCommon::printUImmOperand(), and llvm::ARMInstPrinter::printVMOVModImmOperand().
|
protected |
Helper for matching MCInsts to alias patterns when printing instructions.
Definition at line 124 of file MCInstPrinter.cpp.
References llvm::all_of(), assert(), llvm::CallingConv::C, llvm::lower_bound(), matchAliasCondition(), MI, MRI, and P.
|
protected |
Utility function for printing annotations.
Definition at line 50 of file MCInstPrinter.cpp.
References CommentStream, llvm::StringRef::empty(), llvm::MCAsmInfo::getCommentString(), MAI, and OS.
Referenced by llvm::AArch64InstPrinter::printInst(), llvm::AArch64AppleInstPrinter::printInst(), llvm::AMDGPUInstPrinter::printInst(), llvm::R600InstPrinter::printInst(), llvm::ARCInstPrinter::printInst(), llvm::ARMInstPrinter::printInst(), llvm::AVRInstPrinter::printInst(), llvm::BPFInstPrinter::printInst(), llvm::CSKYInstPrinter::printInst(), llvm::LanaiInstPrinter::printInst(), llvm::LoongArchInstPrinter::printInst(), llvm::M68kInstPrinter::printInst(), llvm::MipsInstPrinter::printInst(), llvm::MSP430InstPrinter::printInst(), llvm::PPCInstPrinter::printInst(), llvm::RISCVInstPrinter::printInst(), llvm::SparcInstPrinter::printInst(), llvm::SystemZGNUInstPrinter::printInst(), llvm::SystemZHLASMInstPrinter::printInst(), llvm::XCoreInstPrinter::printInst(), llvm::XtensaInstPrinter::printInst(), llvm::NVPTXInstPrinter::printInst(), llvm::SPIRVInstPrinter::printInst(), llvm::VEInstPrinter::printInst(), llvm::WebAssemblyInstPrinter::printInst(), llvm::X86ATTInstPrinter::printInst(), llvm::X86IntelInstPrinter::printInst(), and llvm::AArch64InstPrinter::printRangePrefetchAlias().
|
pure virtual |
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.
Implemented in llvm::AArch64InstPrinter, llvm::AArch64AppleInstPrinter, llvm::AMDGPUInstPrinter, llvm::R600InstPrinter, llvm::ARCInstPrinter, llvm::ARMInstPrinter, llvm::AVRInstPrinter, llvm::BPFInstPrinter, llvm::CSKYInstPrinter, llvm::LanaiInstPrinter, llvm::LoongArchInstPrinter, llvm::M68kInstPrinter, llvm::MipsInstPrinter, llvm::MSP430InstPrinter, llvm::PPCInstPrinter, llvm::RISCVInstPrinter, llvm::SparcInstPrinter, llvm::SystemZGNUInstPrinter, llvm::SystemZHLASMInstPrinter, llvm::XCoreInstPrinter, llvm::XtensaInstPrinter, llvm::NVPTXInstPrinter, llvm::SPIRVInstPrinter, llvm::VEInstPrinter, llvm::WebAssemblyInstPrinter, llvm::X86ATTInstPrinter, llvm::X86IntelInstPrinter, and llvm::HexagonInstPrinter.
Referenced by LLVMDisasmInstruction(), and llvm::MCTargetStreamer::prettyPrintAsm().
|
virtual |
Print the assembler register name.
Reimplemented in llvm::CSKYInstPrinter, llvm::HexagonInstPrinter, llvm::LoongArchInstPrinter, llvm::MSP430InstPrinter, llvm::RISCVInstPrinter, llvm::SystemZInstPrinterCommon, llvm::XtensaInstPrinter, llvm::AArch64InstPrinter, llvm::AMDGPUInstPrinter, llvm::ARCInstPrinter, llvm::ARMInstPrinter, llvm::LanaiInstPrinter, llvm::M68kInstPrinter, llvm::MipsInstPrinter, llvm::NVPTXInstPrinter, llvm::PPCInstPrinter, llvm::SparcInstPrinter, llvm::VEInstPrinter, llvm::WebAssemblyInstPrinter, llvm::X86ATTInstPrinter, llvm::X86IntelInstPrinter, and llvm::XCoreInstPrinter.
Definition at line 46 of file MCInstPrinter.cpp.
References llvm_unreachable.
Referenced by llvm::X86InstPrinterCommon::printTILEPair(), and llvm::X86InstPrinterCommon::printVKPair().
|
inline |
Specify a stream to emit comments to.
Definition at line 130 of file MCInstPrinter.h.
References CommentStream, and OS.
Referenced by LLVMSetDisasmOptions().
|
inline |
Definition at line 172 of file MCInstPrinter.h.
References MIA.
|
inline |
Definition at line 167 of file MCInstPrinter.h.
References PrintBranchImmAsAddress.
|
inline |
Definition at line 165 of file MCInstPrinter.h.
References PrintHexStyle.
|
inline |
Definition at line 163 of file MCInstPrinter.h.
References PrintImmHex.
Referenced by LLVMSetDisasmOptions(), and llvm::logicalview::LVBinaryReader::loadGenericTargetInfo().
|
inline |
Definition at line 171 of file MCInstPrinter.h.
References SymbolizeOperands.
|
inline |
Definition at line 158 of file MCInstPrinter.h.
References UseColor.
Referenced by LLVMDisasmInstruction().
|
inline |
Definition at line 155 of file MCInstPrinter.h.
References UseMarkup.
Referenced by LLVMSetDisasmOptions().
|
protected |
Definition at line 80 of file MCInstPrinter.h.
Referenced by llvm::MCInstPrinter::WithMarkup::WithMarkup().
|
protected |
A stream that comments can be emitted to if desired.
Each comment must end with a newline. This will be null if verbose assembly emission is disabled.
Definition at line 51 of file MCInstPrinter.h.
Referenced by llvm::AArch64InstPrinter::printAddSubImm(), printAnnotation(), llvm::AArch64InstPrinter::printImmSVE(), llvm::AArch64InstPrinter::printInst(), llvm::WebAssemblyInstPrinter::printInst(), llvm::X86ATTInstPrinter::printInst(), llvm::X86IntelInstPrinter::printInst(), llvm::ARMInstPrinter::printOperand(), llvm::X86ATTInstPrinter::printOperand(), and setCommentStream().
Definition at line 52 of file MCInstPrinter.h.
Referenced by llvm::HexagonInstPrinter::getMAI(), llvm::SystemZInstPrinterCommon::printAddress(), llvm::AArch64InstPrinter::printAddSubImm(), llvm::AArch64InstPrinter::printAdrAdrpLabel(), llvm::ARMInstPrinter::printAdrLabelOperand(), llvm::AArch64InstPrinter::printAlignedLabel(), llvm::AArch64InstPrinter::printAMIndexedWB(), printAnnotation(), llvm::SystemZInstPrinterCommon::printBDAddrOperand(), llvm::SystemZInstPrinterCommon::printBDLAddrOperand(), llvm::SystemZInstPrinterCommon::printBDRAddrOperand(), llvm::SystemZInstPrinterCommon::printBDVAddrOperand(), llvm::SystemZInstPrinterCommon::printBDXAddrOperand(), llvm::CSKYInstPrinter::printConstpool(), llvm::CSKYInstPrinter::printDataSymbol(), llvm::LanaiInstPrinter::printHi16AndImmOperand(), llvm::LanaiInstPrinter::printHi16ImmOperand(), llvm::AArch64InstPrinter::printInst(), llvm::PPCInstPrinter::printInst(), llvm::R600InstPrinter::printLiteral(), llvm::LanaiInstPrinter::printLo16AndImmOperand(), llvm::LanaiInstPrinter::printMemImmOperand(), llvm::X86IntelInstPrinter::printMemOffset(), llvm::X86ATTInstPrinter::printMemOffset(), llvm::X86IntelInstPrinter::printMemReference(), llvm::X86ATTInstPrinter::printMemReference(), llvm::LanaiInstPrinter::printMemRiOperand(), llvm::LanaiInstPrinter::printMemSplsOperand(), llvm::SparcInstPrinter::printOperand(), llvm::VEInstPrinter::printOperand(), llvm::AArch64InstPrinter::printOperand(), llvm::ARMInstPrinter::printOperand(), llvm::PPCInstPrinter::printOperand(), llvm::CSKYInstPrinter::printOperand(), llvm::RISCVInstPrinter::printOperand(), llvm::R600InstPrinter::printOperand(), llvm::NVPTXInstPrinter::printOperand(), llvm::X86IntelInstPrinter::printOperand(), llvm::WebAssemblyInstPrinter::printOperand(), llvm::LanaiInstPrinter::printOperand(), llvm::X86ATTInstPrinter::printOperand(), llvm::SystemZInstPrinterCommon::printOperand(), llvm::X86InstPrinterCommon::printPCRelImm(), llvm::SystemZInstPrinterCommon::printPCRelOperand(), llvm::SystemZInstPrinterCommon::printRegName(), llvm::ARMInstPrinter::printThumbLdrLabelOperand(), llvm::PPCInstPrinter::printTLSCall(), llvm::X86IntelInstPrinter::printU8Imm(), and llvm::AArch64InstPrinter::printUImm12Offset().
|
protected |
Definition at line 55 of file MCInstPrinter.h.
Referenced by llvm::X86IntelInstPrinter::printMemReference(), llvm::X86ATTInstPrinter::printMemReference(), and setMCInstrAnalysis().
|
protected |
Definition at line 53 of file MCInstPrinter.h.
Referenced by getOpcodeName(), llvm::SPIRVInstPrinter::printInst(), llvm::WebAssemblyInstPrinter::printInst(), llvm::X86ATTInstPrinter::printInst(), llvm::X86IntelInstPrinter::printInst(), llvm::X86InstPrinterCommon::printInstFlags(), llvm::SPIRVInstPrinter::printOpDecorate(), llvm::ARMInstPrinter::printOperand(), llvm::PPCInstPrinter::printOperand(), llvm::CSKYInstPrinter::printOperand(), llvm::WebAssemblyInstPrinter::printOperand(), llvm::SPIRVInstPrinter::printOpExtInst(), llvm::X86ATTInstPrinter::printVecCompareInstr(), and llvm::X86IntelInstPrinter::printVecCompareInstr().
|
protected |
Definition at line 54 of file MCInstPrinter.h.
Referenced by llvm::AVRInstPrinter::getPrettyRegisterName(), matchAliasPatterns(), llvm::AArch64InstPrinter::printGPR64x8(), llvm::ARMInstPrinter::printGPRPairOperand(), llvm::AArch64InstPrinter::printGPRSeqPairsClassOperand(), llvm::ARMInstPrinter::printInst(), llvm::ARMInstPrinter::printMVEVectorList(), llvm::PPCInstPrinter::printOperand(), llvm::AArch64InstPrinter::printRangePrefetchAlias(), llvm::ARMInstPrinter::printRegisterList(), llvm::VEInstPrinter::printRegName(), llvm::AArch64InstPrinter::printVectorList(), llvm::ARMInstPrinter::printVectorListTwo(), llvm::ARMInstPrinter::printVectorListTwoAllLanes(), llvm::ARMInstPrinter::printVectorListTwoSpaced(), and llvm::ARMInstPrinter::printVectorListTwoSpacedAllLanes().
True if we prefer aliases (e.g. nop) to raw mnemonics.
Definition at line 64 of file MCInstPrinter.h.
Referenced by llvm::AArch64InstPrinter::applyTargetSpecificCLOption(), llvm::RISCVInstPrinter::applyTargetSpecificCLOption(), llvm::RISCVInstPrinter::printFRMArg(), llvm::AArch64InstPrinter::printInst(), and llvm::RISCVInstPrinter::printInst().
|
protected |
If true, a branch immediate (e.g.
bl 4) will be printed as a hexadecimal address (e.g. bl 0x20004). This is useful for a stream disassembler (llvm-objdump -d).
Definition at line 75 of file MCInstPrinter.h.
Referenced by llvm::AArch64InstPrinter::printAdrAdrpLabel(), llvm::AArch64InstPrinter::printAlignedLabel(), llvm::PPCInstPrinter::printBranchOperand(), llvm::RISCVInstPrinter::printBranchOperand(), llvm::CSKYInstPrinter::printConstpool(), llvm::CSKYInstPrinter::printCSKYSymbolOperand(), llvm::CSKYInstPrinter::printFPRRegName(), llvm::ARMInstPrinter::printOperand(), llvm::CSKYInstPrinter::printOperand(), llvm::X86InstPrinterCommon::printPCRelImm(), llvm::CSKYInstPrinter::printRegName(), and setPrintBranchImmAsAddress().
|
protected |
Which style to use for printing hexadecimal values.
Definition at line 70 of file MCInstPrinter.h.
Referenced by formatHex(), and setPrintHexStyle().
|
protected |
True if we are printing immediates as hex.
Definition at line 67 of file MCInstPrinter.h.
Referenced by formatImm(), getPrintImmHex(), and setPrintImmHex().
|
protected |
If true, symbolize branch target and memory reference operands.
Definition at line 78 of file MCInstPrinter.h.
Referenced by llvm::X86IntelInstPrinter::printMemReference(), llvm::X86ATTInstPrinter::printMemReference(), llvm::X86InstPrinterCommon::printPCRelImm(), and setSymbolizeOperands().
|
protected |
True if we are printing colored assembly.
Definition at line 61 of file MCInstPrinter.h.
Referenced by getUseColor(), and setUseColor().
|
protected |
True if we are printing marked up assembly.
Definition at line 58 of file MCInstPrinter.h.
Referenced by getUseMarkup(), and setUseMarkup().