LLVM API Documentation
#include <MCInstPrinter.h>


Public Member Functions | |
| MCInstPrinter (const MCAsmInfo &mai, const MCInstrInfo &mii, const MCRegisterInfo &mri) | |
| virtual | ~MCInstPrinter () |
| void | setCommentStream (raw_ostream &OS) |
| setCommentStream - Specify a stream to emit comments to. | |
| virtual void | printInst (const MCInst *MI, raw_ostream &OS, StringRef Annot)=0 |
| StringRef | getOpcodeName (unsigned Opcode) const |
| virtual void | printRegName (raw_ostream &OS, unsigned RegNo) const |
| printRegName - Print the assembler register name. | |
| unsigned | getAvailableFeatures () const |
| void | setAvailableFeatures (unsigned Value) |
| bool | getUseMarkup () const |
| void | setUseMarkup (bool Value) |
| StringRef | markup (StringRef s) const |
| Utility functions to make adding mark ups simpler. | |
| StringRef | markup (StringRef a, StringRef b) const |
| bool | getPrintImmHex () const |
| void | setPrintImmHex (bool Value) |
| format_object1< int64_t > | formatImm (const int64_t Value) const |
| Utility function to print immediates in decimal or hex. | |
Protected Member Functions | |
| void | printAnnotation (raw_ostream &OS, StringRef Annot) |
| Utility function for printing annotations. | |
Protected Attributes | |
| raw_ostream * | CommentStream |
| const MCAsmInfo & | MAI |
| const MCInstrInfo & | MII |
| const MCRegisterInfo & | MRI |
| unsigned | AvailableFeatures |
| The current set of available features. | |
| bool | UseMarkup |
| True if we are printing marked up assembly. | |
| bool | PrintImmHex |
| True if we are printing immediates as hex. | |
MCInstPrinter - This is an instance of a target assembly language printer that converts an MCInst to valid target assembly syntax.
Definition at line 26 of file MCInstPrinter.h.
| llvm::MCInstPrinter::MCInstPrinter | ( | const MCAsmInfo & | mai, |
| const MCInstrInfo & | mii, | ||
| const MCRegisterInfo & | mri | ||
| ) | [inline] |
Definition at line 48 of file MCInstPrinter.h.
| MCInstPrinter::~MCInstPrinter | ( | ) | [virtual] |
Definition at line 19 of file MCInstPrinter.cpp.
| format_object1< int64_t > MCInstPrinter::formatImm | ( | const int64_t | Value | ) | const |
Utility function to print immediates in decimal or hex.
Definition at line 56 of file MCInstPrinter.cpp.
References llvm::format(), and getPrintImmHex().
Referenced by llvm::ARMInstPrinter::printImmPlusOneOperand(), llvm::X86ATTInstPrinter::printMemReference(), llvm::ARMInstPrinter::printOperand(), llvm::X86ATTInstPrinter::printOperand(), llvm::X86ATTInstPrinter::printPCRelImm(), llvm::ARMInstPrinter::printT2AddrModeImm0_1020s4Operand(), llvm::ARMInstPrinter::printThumbAddrModeImm5SOperand(), llvm::ARMInstPrinter::printThumbLdrLabelOperand(), llvm::ARMInstPrinter::printThumbS4ImmOperand(), and llvm::ARMInstPrinter::printThumbSRImm().
| unsigned llvm::MCInstPrinter::getAvailableFeatures | ( | ) | const [inline] |
Definition at line 70 of file MCInstPrinter.h.
References AvailableFeatures.
Referenced by llvm::ARMInstPrinter::printMSRMaskOperand().
getOpcodeName - Return the name of the specified opcode enum (e.g. "MOV32ri") or empty if we can't resolve it.
Reimplemented in llvm::HexagonInstPrinter.
Definition at line 24 of file MCInstPrinter.cpp.
References llvm::MCInstrInfo::getName(), and MII.
Referenced by llvm::MCInst::dump_pretty().
| bool llvm::MCInstPrinter::getPrintImmHex | ( | ) | const [inline] |
| bool llvm::MCInstPrinter::getUseMarkup | ( | ) | const [inline] |
Utility functions to make adding mark ups simpler.
Definition at line 42 of file MCInstPrinter.cpp.
References getUseMarkup().
Referenced by llvm::ARMInstPrinter::printAddrMode2OffsetOperand(), llvm::ARMInstPrinter::printAddrMode3OffsetOperand(), llvm::ARMInstPrinter::printAddrMode5Operand(), llvm::ARMInstPrinter::printAddrMode6Operand(), llvm::ARMInstPrinter::printAddrMode7Operand(), llvm::ARMInstPrinter::printAddrModeImm12Operand(), llvm::ARMInstPrinter::printAddrModeTBB(), llvm::ARMInstPrinter::printAddrModeTBH(), llvm::ARMInstPrinter::printAdrLabelOperand(), llvm::ARMInstPrinter::printAM2PreOrOffsetIndexOp(), llvm::ARMInstPrinter::printAM3PostIndexOp(), llvm::ARMInstPrinter::printAM3PreOrOffsetIndexOp(), llvm::ARMInstPrinter::printBitfieldInvMaskImmOperand(), llvm::ARMInstPrinter::printFBits16(), llvm::ARMInstPrinter::printFBits32(), llvm::ARMInstPrinter::printFPImmOperand(), llvm::ARMInstPrinter::printImmPlusOneOperand(), llvm::ARMInstPrinter::printInst(), llvm::X86ATTInstPrinter::printMemReference(), llvm::ARMInstPrinter::printNEONModImmOperand(), llvm::ARMInstPrinter::printOperand(), llvm::X86ATTInstPrinter::printOperand(), llvm::ARMInstPrinter::printPKHASRShiftImm(), llvm::ARMInstPrinter::printPKHLSLShiftImm(), llvm::ARMInstPrinter::printPostIdxImm8Operand(), llvm::ARMInstPrinter::printPostIdxImm8s4Operand(), llvm::X86ATTInstPrinter::printRegName(), llvm::ARMInstPrinter::printRegName(), llvm::ARMInstPrinter::printRotImmOperand(), llvm::ARMInstPrinter::printShiftImmOperand(), llvm::ARMInstPrinter::printT2AddrModeImm0_1020s4Operand(), llvm::ARMInstPrinter::printT2AddrModeImm8OffsetOperand(), llvm::ARMInstPrinter::printT2AddrModeImm8Operand(), llvm::ARMInstPrinter::printT2AddrModeImm8s4Operand(), llvm::ARMInstPrinter::printT2AddrModeSoRegOperand(), llvm::ARMInstPrinter::printThumbAddrModeImm5SOperand(), llvm::ARMInstPrinter::printThumbAddrModeRROperand(), llvm::ARMInstPrinter::printThumbLdrLabelOperand(), llvm::ARMInstPrinter::printThumbS4ImmOperand(), and llvm::ARMInstPrinter::printThumbSRImm().
Definition at line 48 of file MCInstPrinter.cpp.
References getUseMarkup().
| void MCInstPrinter::printAnnotation | ( | raw_ostream & | OS, |
| StringRef | Annot | ||
| ) | [protected] |
Utility function for printing annotations.
Definition at line 32 of file MCInstPrinter.cpp.
References CommentStream, llvm::StringRef::empty(), llvm::MCAsmInfo::getCommentString(), and MAI.
Referenced by llvm::MBlazeInstPrinter::printInst(), llvm::MSP430InstPrinter::printInst(), llvm::ARMInstPrinter::printInst(), llvm::X86ATTInstPrinter::printInst(), llvm::HexagonInstPrinter::printInst(), llvm::X86IntelInstPrinter::printInst(), llvm::AMDGPUInstPrinter::printInst(), llvm::XCoreInstPrinter::printInst(), llvm::PPCInstPrinter::printInst(), llvm::SystemZInstPrinter::printInst(), llvm::MipsInstPrinter::printInst(), and llvm::AArch64InstPrinter::printInst().
| virtual void llvm::MCInstPrinter::printInst | ( | const MCInst * | MI, |
| raw_ostream & | OS, | ||
| StringRef | Annot | ||
| ) | [pure virtual] |
printInst - Print the specified MCInst to the specified raw_ostream.
Implemented in llvm::AArch64InstPrinter, llvm::MipsInstPrinter, llvm::SystemZInstPrinter, llvm::PPCInstPrinter, llvm::XCoreInstPrinter, llvm::AMDGPUInstPrinter, llvm::X86IntelInstPrinter, llvm::HexagonInstPrinter, llvm::X86ATTInstPrinter, llvm::ARMInstPrinter, llvm::MBlazeInstPrinter, and llvm::MSP430InstPrinter.
Referenced by LLVMDisasmInstruction().
| void MCInstPrinter::printRegName | ( | raw_ostream & | OS, |
| unsigned | RegNo | ||
| ) | const [virtual] |
printRegName - Print the assembler register name.
Reimplemented in llvm::MipsInstPrinter, llvm::SystemZInstPrinter, llvm::AArch64InstPrinter, llvm::PPCInstPrinter, llvm::XCoreInstPrinter, llvm::ARMInstPrinter, llvm::X86IntelInstPrinter, and llvm::X86ATTInstPrinter.
Definition at line 28 of file MCInstPrinter.cpp.
References llvm_unreachable.
| void llvm::MCInstPrinter::setAvailableFeatures | ( | unsigned | Value | ) | [inline] |
Definition at line 71 of file MCInstPrinter.h.
References AvailableFeatures.
Referenced by llvm::AArch64InstPrinter::AArch64InstPrinter(), and llvm::ARMInstPrinter::ARMInstPrinter().
| void llvm::MCInstPrinter::setCommentStream | ( | raw_ostream & | OS | ) | [inline] |
setCommentStream - Specify a stream to emit comments to.
Definition at line 56 of file MCInstPrinter.h.
References CommentStream.
| void llvm::MCInstPrinter::setPrintImmHex | ( | bool | Value | ) | [inline] |
Definition at line 81 of file MCInstPrinter.h.
References PrintImmHex.
Referenced by LLVMSetDisasmOptions().
| void llvm::MCInstPrinter::setUseMarkup | ( | bool | Value | ) | [inline] |
Definition at line 74 of file MCInstPrinter.h.
References UseMarkup.
Referenced by LLVMSetDisasmOptions().
unsigned llvm::MCInstPrinter::AvailableFeatures [protected] |
The current set of available features.
Definition at line 37 of file MCInstPrinter.h.
Referenced by getAvailableFeatures(), and setAvailableFeatures().
raw_ostream* llvm::MCInstPrinter::CommentStream [protected] |
CommentStream - 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 disable.
Definition at line 31 of file MCInstPrinter.h.
Referenced by printAnnotation(), llvm::X86ATTInstPrinter::printInst(), llvm::X86IntelInstPrinter::printInst(), llvm::X86ATTInstPrinter::printOperand(), and setCommentStream().
const MCAsmInfo& llvm::MCInstPrinter::MAI [protected] |
Definition at line 32 of file MCInstPrinter.h.
Referenced by printAnnotation().
const MCInstrInfo& llvm::MCInstPrinter::MII [protected] |
Definition at line 33 of file MCInstPrinter.h.
Referenced by getOpcodeName(), llvm::X86ATTInstPrinter::printInst(), and llvm::X86IntelInstPrinter::printInst().
const MCRegisterInfo& llvm::MCInstPrinter::MRI [protected] |
Definition at line 34 of file MCInstPrinter.h.
Referenced by llvm::ARMInstPrinter::printGPRPairOperand(), llvm::ARMInstPrinter::printInst(), llvm::ARMInstPrinter::printVectorListTwo(), llvm::ARMInstPrinter::printVectorListTwoAllLanes(), llvm::ARMInstPrinter::printVectorListTwoSpaced(), and llvm::ARMInstPrinter::printVectorListTwoSpacedAllLanes().
bool llvm::MCInstPrinter::PrintImmHex [protected] |
True if we are printing immediates as hex.
Definition at line 43 of file MCInstPrinter.h.
Referenced by getPrintImmHex(), and setPrintImmHex().
bool llvm::MCInstPrinter::UseMarkup [protected] |
True if we are printing marked up assembly.
Definition at line 40 of file MCInstPrinter.h.
Referenced by getUseMarkup(), llvm::ARMInstPrinter::printAddrMode2OffsetOperand(), llvm::ARMInstPrinter::printAM2PreOrOffsetIndexOp(), llvm::ARMInstPrinter::printSORegImmOperand(), llvm::ARMInstPrinter::printT2AddrModeImm8Operand(), llvm::ARMInstPrinter::printT2AddrModeImm8s4OffsetOperand(), llvm::ARMInstPrinter::printT2AddrModeImm8s4Operand(), llvm::ARMInstPrinter::printT2SOOperand(), and setUseMarkup().