LLVM
8.0.1
|
#include "Target/X86/InstPrinter/X86InstPrinterCommon.h"
Public Member Functions | |
virtual void | printOperand (const MCInst *MI, unsigned OpNo, raw_ostream &O)=0 |
void | printSSEAVXCC (const MCInst *MI, unsigned Op, raw_ostream &OS) |
void | printXOPCC (const MCInst *MI, unsigned Op, raw_ostream &OS) |
void | printRoundingControl (const MCInst *MI, unsigned Op, raw_ostream &O) |
void | printPCRelImm (const MCInst *MI, unsigned OpNo, raw_ostream &O) |
printPCRelImm - This is used to print an immediate value that ends up being encoded as a pc-relative value (e.g. More... | |
Public Member Functions inherited from llvm::MCInstPrinter | |
MCInstPrinter (const MCAsmInfo &mai, const MCInstrInfo &mii, const MCRegisterInfo &mri) | |
virtual | ~MCInstPrinter () |
void | setCommentStream (raw_ostream &OS) |
Specify a stream to emit comments to. More... | |
virtual void | printInst (const MCInst *MI, raw_ostream &OS, StringRef Annot, const MCSubtargetInfo &STI)=0 |
Print the specified MCInst to the specified raw_ostream. More... | |
StringRef | getOpcodeName (unsigned Opcode) const |
Return the name of the specified opcode enum (e.g. More... | |
virtual void | printRegName (raw_ostream &OS, unsigned RegNo) const |
Print the assembler register name. More... | |
bool | getUseMarkup () const |
void | setUseMarkup (bool Value) |
StringRef | markup (StringRef s) const |
Utility functions to make adding mark ups simpler. More... | |
StringRef | markup (StringRef a, StringRef b) const |
bool | getPrintImmHex () const |
void | setPrintImmHex (bool Value) |
HexStyle::Style | getPrintHexStyle () const |
void | setPrintHexStyle (HexStyle::Style Value) |
format_object< int64_t > | formatImm (int64_t Value) const |
Utility function to print immediates in decimal or hex. More... | |
format_object< int64_t > | formatDec (int64_t Value) const |
Utility functions to print decimal/hexadecimal values. More... | |
format_object< int64_t > | formatHex (int64_t Value) const |
format_object< uint64_t > | formatHex (uint64_t Value) const |
Protected Member Functions | |
void | printInstFlags (const MCInst *MI, raw_ostream &O) |
void | printOptionalSegReg (const MCInst *MI, unsigned OpNo, raw_ostream &O) |
Protected Member Functions inherited from llvm::MCInstPrinter | |
void | printAnnotation (raw_ostream &OS, StringRef Annot) |
Utility function for printing annotations. More... | |
Additional Inherited Members | |
Protected Attributes inherited from llvm::MCInstPrinter | |
raw_ostream * | CommentStream = nullptr |
A stream that comments can be emitted to if desired. More... | |
const MCAsmInfo & | MAI |
const MCInstrInfo & | MII |
const MCRegisterInfo & | MRI |
bool | UseMarkup = false |
True if we are printing marked up assembly. More... | |
bool | PrintImmHex = false |
True if we are printing immediates as hex. More... | |
HexStyle::Style | PrintHexStyle = HexStyle::C |
Which style to use for printing hexadecimal values. More... | |
Definition at line 22 of file X86InstPrinterCommon.h.
|
protected |
Definition at line 127 of file X86InstPrinterCommon.cpp.
References llvm::MCInstrInfo::get(), llvm::MCInst::getFlags(), llvm::MCInst::getOpcode(), llvm::X86::IP_HAS_LOCK, llvm::X86::IP_HAS_NOTRACK, llvm::X86::IP_HAS_REPEAT, llvm::X86::IP_HAS_REPEAT_NE, llvm::X86II::LOCK, llvm::MCInstPrinter::MII, llvm::X86II::NOTRACK, and llvm::MCInstrDesc::TSFlags.
Referenced by llvm::X86ATTInstPrinter::printInst(), and llvm::X86IntelInstPrinter::printInst().
|
pure virtual |
Implemented in llvm::X86ATTInstPrinter, and llvm::X86IntelInstPrinter.
Referenced by printOptionalSegReg().
|
protected |
Definition at line 119 of file X86InstPrinterCommon.cpp.
References llvm::MCInst::getOperand(), llvm::MCOperand::getReg(), and printOperand().
Referenced by llvm::X86IntelInstPrinter::printMemOffset(), llvm::X86ATTInstPrinter::printMemOffset(), llvm::X86IntelInstPrinter::printMemReference(), llvm::X86ATTInstPrinter::printMemReference(), llvm::X86IntelInstPrinter::printSrcIdx(), and llvm::X86ATTInstPrinter::printSrcIdx().
void X86InstPrinterCommon::printPCRelImm | ( | const MCInst * | MI, |
unsigned | OpNo, | ||
raw_ostream & | O | ||
) |
printPCRelImm - This is used to print an immediate value that ends up being encoded as a pc-relative value (e.g.
for jumps and calls). In Intel-style these print slightly differently than normal immediates. for example, a $ is not emitted.
Definition at line 99 of file X86InstPrinterCommon.cpp.
References llvm::Address, assert(), llvm::dyn_cast(), llvm::MCInstPrinter::formatHex(), llvm::MCInstPrinter::formatImm(), llvm::MCOperand::getExpr(), llvm::MCOperand::getImm(), llvm::MCInst::getOperand(), llvm::MCOperand::isExpr(), llvm::MCOperand::isImm(), llvm::MCInstPrinter::MAI, and llvm::MCExpr::print().
Referenced by llvm::X86ATTInstPrinter::printInst().
void X86InstPrinterCommon::printRoundingControl | ( | const MCInst * | MI, |
unsigned | Op, | ||
raw_ostream & | O | ||
) |
Definition at line 84 of file X86InstPrinterCommon.cpp.
References llvm::MCOperand::getImm(), and llvm::MCInst::getOperand().
void X86InstPrinterCommon::printSSEAVXCC | ( | const MCInst * | MI, |
unsigned | Op, | ||
raw_ostream & | OS | ||
) |
Definition at line 28 of file X86InstPrinterCommon.cpp.
References llvm::MCOperand::getImm(), llvm::MCInst::getOperand(), and llvm_unreachable.
void X86InstPrinterCommon::printXOPCC | ( | const MCInst * | MI, |
unsigned | Op, | ||
raw_ostream & | OS | ||
) |
Definition at line 68 of file X86InstPrinterCommon.cpp.
References llvm::MCOperand::getImm(), llvm::MCInst::getOperand(), and llvm_unreachable.