LLVM: llvm::X86ATTInstPrinter Class Reference (original) (raw)
#include "[Target/X86/MCTargetDesc/X86ATTInstPrinter.h](X86ATTInstPrinter%5F8h%5Fsource.html)"
| Additional Inherited Members | |
|---|---|
| Public Types inherited from llvm::MCInstPrinter | |
| enum class | Markup { Immediate, Register, Target, Memory } |
| Protected Member Functions inherited from llvm::X86InstPrinterCommon | |
| 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. | |
| 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 20 of file X86ATTInstPrinter.h.
◆ getMnemonic()
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.
◆ getRegisterName()
◆ printAliasInstr()
◆ printbytemem()
◆ printCustomAliasOperand()
◆ printDstIdx()
◆ printDstIdx16()
◆ printDstIdx32()
◆ printDstIdx64()
◆ printDstIdx8()
◆ printdwordmem()
◆ printExprOperand()
◆ printInst()
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 58 of file X86ATTInstPrinter.cpp.
References llvm::Address, llvm::MCInstPrinter::CommentStream, llvm::EmitAnyX86InstComments(), llvm::MCSubtargetInfo::hasFeature(), MI, llvm::MCInstPrinter::MII, printAliasInstr(), llvm::MCInstPrinter::printAnnotation(), llvm::X86InstPrinterCommon::printInstFlags(), printInstruction(), llvm::X86InstPrinterCommon::printPCRelImm(), and printVecCompareInstr().
◆ printInstruction()
◆ printMemOffs16()
◆ printMemOffs32()
◆ printMemOffs64()
◆ printMemOffs8()
◆ printMemOffset()
Definition at line 507 of file X86ATTInstPrinter.cpp.
References assert(), llvm::MCInstPrinter::formatImm(), llvm::MCOperand::getExpr(), llvm::MCOperand::getImm(), llvm::MCOperand::isExpr(), llvm::MCOperand::isImm(), llvm::MCInstPrinter::markup(), llvm::MCInstPrinter::Memory, MI, printExprOperand(), and llvm::X86InstPrinterCommon::printOptionalSegReg().
Referenced by printMemOffs16(), printMemOffs32(), printMemOffs64(), and printMemOffs8().
◆ printMemReference()
Definition at line 438 of file X86ATTInstPrinter.cpp.
References llvm::X86::AddrBaseReg, llvm::X86::AddrDisp, llvm::X86::AddrIndexReg, llvm::X86::AddrScaleAmt, llvm::X86::AddrSegmentReg, assert(), llvm::MCInstPrinter::formatImm(), llvm::MCOperand::getExpr(), llvm::MCOperand::getImm(), llvm::MCOperand::getReg(), llvm::MCInstPrinter::Immediate, llvm::MCOperand::isExpr(), llvm::MCOperand::isImm(), llvm::MCInstPrinter::markup(), llvm::MCInstPrinter::Memory, MI, llvm::MCInstPrinter::MIA, printExprOperand(), printOperand(), llvm::X86InstPrinterCommon::printOptionalSegReg(), and llvm::MCInstPrinter::SymbolizeOperands.
Referenced by printbytemem(), printdwordmem(), printqwordmem(), printtbytemem(), printwordmem(), printxmmwordmem(), printymmwordmem(), and printzmmwordmem().
◆ printOperand()
Implements llvm::X86InstPrinterCommon.
Definition at line 405 of file X86ATTInstPrinter.cpp.
References assert(), llvm::MCInstPrinter::CommentStream, llvm::format(), llvm::MCInstPrinter::formatImm(), llvm::MCInstPrinter::Immediate, llvm::MCInstPrinter::MAI, llvm::MCInstPrinter::markup(), MI, and printRegName().
Referenced by printDstIdx(), printMemReference(), printSrcIdx(), printU8Imm(), and printVecCompareInstr().
◆ printqwordmem()
◆ printRegName()
◆ printSrcIdx()
◆ printSrcIdx16()
◆ printSrcIdx32()
◆ printSrcIdx64()
◆ printSrcIdx8()
◆ printSTiRegOperand()
◆ printtbytemem()
◆ printU8Imm()
◆ printVecCompareInstr()
Definition at line 95 of file X86ATTInstPrinter.cpp.
References assert(), llvm::X86II::EVEX_B, llvm::X86II::EVEX_K, llvm::X86II::EVEX_L2, llvm::X86II::FormMask, MI, llvm::MCInstPrinter::MII, llvm::X86II::MRMSrcMem, llvm::X86II::OpMapMask, llvm::X86II::OpPrefixMask, llvm::X86InstPrinterCommon::printCMPMnemonic(), printdwordmem(), printOperand(), printqwordmem(), llvm::X86InstPrinterCommon::printVPCMPMnemonic(), llvm::X86InstPrinterCommon::printVPCOMMnemonic(), printwordmem(), printxmmwordmem(), printymmwordmem(), printzmmwordmem(), llvm::X86II::REX_W, llvm::X86II::TA, llvm::X86II::VEX_L, llvm::X86II::XD, and llvm::X86II::XS.
Referenced by printInst().
◆ printwordmem()
◆ printxmmwordmem()
◆ printymmwordmem()
◆ printzmmwordmem()
The documentation for this class was generated from the following files:
- lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.h
- lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp