LLVM 20.0.0git
|
#include "Target/X86/MCTargetDesc/X86InstPrinterCommon.h"
Protected Member Functions | |
void | printInstFlags (const MCInst *MI, raw_ostream &O, const MCSubtargetInfo &STI) |
void | printOptionalSegReg (const MCInst *MI, unsigned OpNo, raw_ostream &O) |
void | printVKPair (const MCInst *MI, unsigned OpNo, raw_ostream &OS) |
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. | |
Additional Inherited Members | |
Public Types inherited from llvm::MCInstPrinter | |
enum class | Markup { Immediate , Register , Target , Memory } |
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. | |
Definition at line 21 of file X86InstPrinterCommon.h.
|
inline |
Definition at line 87 of file MCInstPrinter.h.
void X86InstPrinterCommon::printCMPMnemonic | ( | const MCInst * | MI, |
bool | IsVCmp, | ||
raw_ostream & | OS | ||
) |
Definition at line 236 of file X86InstPrinterCommon.cpp.
References llvm_unreachable, MI, OS, and printSSEAVXCC().
Referenced by llvm::X86ATTInstPrinter::printVecCompareInstr(), and llvm::X86IntelInstPrinter::printVecCompareInstr().
void X86InstPrinterCommon::printCondCode | ( | const MCInst * | MI, |
unsigned | Op, | ||
raw_ostream & | OS | ||
) |
Definition at line 29 of file X86InstPrinterCommon.cpp.
References llvm_unreachable, and MI.
void X86InstPrinterCommon::printCondFlags | ( | const MCInst * | MI, |
unsigned | Op, | ||
raw_ostream & | OS | ||
) |
Definition at line 58 of file X86InstPrinterCommon.cpp.
References assert(), MI, and llvm::StringRef::rtrim().
|
protected |
Definition at line 379 of file X86InstPrinterCommon.cpp.
References llvm::X86II::EVEX_NF, llvm::X86II::ExplicitEVEXPrefix, llvm::X86II::ExplicitOpPrefixMask, llvm::X86II::ExplicitVEXPrefix, llvm::MCInstrInfo::get(), llvm::X86II::getMemoryOperandNo(), llvm::X86II::getOperandBias(), llvm::MCSubtargetInfo::hasFeature(), llvm::X86::IP_HAS_AD_SIZE, llvm::X86::IP_HAS_LOCK, llvm::X86::IP_HAS_NOTRACK, llvm::X86::IP_HAS_REPEAT, llvm::X86::IP_HAS_REPEAT_NE, llvm::X86::IP_USE_DISP32, llvm::X86::IP_USE_DISP8, llvm::X86::IP_USE_EVEX, llvm::X86::IP_USE_VEX, llvm::X86::IP_USE_VEX2, llvm::X86::IP_USE_VEX3, llvm::X86II::LOCK, MI, llvm::MCInstPrinter::MII, llvm::X86_MC::needsAddressSizeOverride(), and llvm::X86II::NOTRACK.
Referenced by llvm::X86ATTInstPrinter::printInst(), and llvm::X86IntelInstPrinter::printInst().
|
pure virtual |
Implemented in llvm::X86IntelInstPrinter, and llvm::X86ATTInstPrinter.
Referenced by printOptionalSegReg().
|
protected |
Definition at line 371 of file X86InstPrinterCommon.cpp.
References MI, and printOperand().
Referenced by llvm::X86IntelInstPrinter::printMemOffset(), llvm::X86ATTInstPrinter::printMemOffset(), llvm::X86IntelInstPrinter::printMemReference(), llvm::X86ATTInstPrinter::printMemReference(), llvm::X86ATTInstPrinter::printSrcIdx(), and llvm::X86IntelInstPrinter::printSrcIdx().
void X86InstPrinterCommon::printPCRelImm | ( | const MCInst * | MI, |
uint64_t | Address, | ||
unsigned | OpNo, | ||
raw_ostream & | O | ||
) |
value (e.g.
for jumps and calls). In Intel-style these print slightly differently than normal immediates. For example, a $ is not emitted.
Address
The address of the next instruction.
Definition at line 341 of file X86InstPrinterCommon.cpp.
References llvm::Address, assert(), llvm::MCInstPrinter::formatHex(), llvm::MCInstPrinter::formatImm(), llvm::MCAsmInfo::getCodePointerSize(), llvm::MCInstPrinter::Immediate, llvm::MCInstPrinter::MAI, llvm::MCInstPrinter::markup(), MI, llvm::DWARFExpression::Operation::print(), llvm::MCInstPrinter::PrintBranchImmAsAddress, llvm::MCInstPrinter::SymbolizeOperands, and llvm::MCInstPrinter::Target.
Referenced by llvm::X86ATTInstPrinter::printInst().
void X86InstPrinterCommon::printRoundingControl | ( | const MCInst * | MI, |
unsigned | Op, | ||
raw_ostream & | O | ||
) |
Definition at line 315 of file X86InstPrinterCommon.cpp.
References llvm_unreachable, MI, llvm::X86::TO_NEAREST_INT, llvm::X86::TO_NEG_INF, llvm::X86::TO_POS_INF, and llvm::X86::TO_ZERO.
void X86InstPrinterCommon::printSSEAVXCC | ( | const MCInst * | MI, |
unsigned | Op, | ||
raw_ostream & | OS | ||
) |
Definition at line 79 of file X86InstPrinterCommon.cpp.
References llvm_unreachable, and MI.
Referenced by printCMPMnemonic(), and printVPCMPMnemonic().
|
protected |
Definition at line 431 of file X86InstPrinterCommon.cpp.
References llvm_unreachable, MI, OS, and llvm::MCInstPrinter::printRegName().
void X86InstPrinterCommon::printVPCMPMnemonic | ( | const MCInst * | MI, |
raw_ostream & | OS | ||
) |
Definition at line 149 of file X86InstPrinterCommon.cpp.
References llvm_unreachable, MI, OS, and printSSEAVXCC().
Referenced by llvm::X86ATTInstPrinter::printVecCompareInstr(), and llvm::X86IntelInstPrinter::printVecCompareInstr().
void X86InstPrinterCommon::printVPCOMMnemonic | ( | const MCInst * | MI, |
raw_ostream & | OS | ||
) |
Definition at line 119 of file X86InstPrinterCommon.cpp.
References llvm_unreachable, MI, and OS.
Referenced by llvm::X86ATTInstPrinter::printVecCompareInstr(), and llvm::X86IntelInstPrinter::printVecCompareInstr().