LLVM 20.0.0git
|
#include "Target/ARM/MCTargetDesc/ARMInstPrinter.h"
Static Public Member Functions | |
static const char * | getRegisterName (MCRegister Reg, unsigned AltIdx=ARM::NoRegAltName) |
Additional Inherited Members | |
Public Types inherited from llvm::MCInstPrinter | |
enum class | Markup { Immediate , Register , Target , Memory } |
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 21 of file ARMInstPrinter.h.
ARMInstPrinter::ARMInstPrinter | ( | const MCAsmInfo & | MAI, |
const MCInstrInfo & | MII, | ||
const MCRegisterInfo & | MRI | ||
) |
Definition at line 66 of file ARMInstPrinter.cpp.
Customize the printer according to a command line option.
Reimplemented from llvm::MCInstPrinter.
Definition at line 70 of file ARMInstPrinter.cpp.
|
overridevirtual |
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.
|
static |
void ARMInstPrinter::printAddrMode2OffsetOperand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 540 of file ARMInstPrinter.cpp.
References llvm::ARM_AM::getAddrOpcStr(), llvm::ARM_AM::getAM2Offset(), llvm::ARM_AM::getAM2Op(), llvm::ARM_AM::getAM2ShiftOpc(), llvm::MCOperand::getImm(), llvm::MCOperand::getReg(), llvm::MCInstPrinter::Immediate, llvm::MCInstPrinter::markup(), MI, printRegImmShift(), and printRegName().
void ARMInstPrinter::printAddrMode2Operand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 521 of file ARMInstPrinter.cpp.
References assert(), llvm::ARM_AM::getAM2IdxMode(), llvm::MCOperand::getImm(), llvm::ARMII::IndexModePost, llvm::MCOperand::isReg(), MI, printAM2PreOrOffsetIndexOp(), and printOperand().
void ARMInstPrinter::printAddrMode3OffsetOperand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 611 of file ARMInstPrinter.cpp.
References llvm::ARM_AM::getAddrOpcStr(), llvm::ARM_AM::getAM3Offset(), llvm::ARM_AM::getAM3Op(), llvm::MCOperand::getImm(), llvm::MCOperand::getReg(), llvm::MCInstPrinter::Immediate, llvm::MCInstPrinter::markup(), MI, and printRegName().
void ARMInstPrinter::printAddrMode3Operand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 596 of file ARMInstPrinter.cpp.
References assert(), llvm::ARM_AM::getAM3IdxMode(), llvm::ARMII::IndexModePost, llvm::MCOperand::isReg(), MI, printAM3PreOrOffsetIndexOp(), and printOperand().
void ARMInstPrinter::printAddrMode5FP16Operand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 712 of file ARMInstPrinter.cpp.
References llvm::ARM_AM::getAddrOpcStr(), llvm::ARM_AM::getAM5FP16Offset(), llvm::ARM_AM::getAM5FP16Op(), llvm::MCOperand::getImm(), llvm::MCOperand::getReg(), llvm::MCInstPrinter::Immediate, llvm::MCOperand::isReg(), llvm::MCInstPrinter::markup(), llvm::MCInstPrinter::Memory, MI, printOperand(), printRegName(), and llvm::ARM_AM::sub.
void ARMInstPrinter::printAddrMode5Operand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 686 of file ARMInstPrinter.cpp.
References llvm::ARM_AM::getAddrOpcStr(), llvm::ARM_AM::getAM5Offset(), llvm::ARM_AM::getAM5Op(), llvm::MCOperand::getImm(), llvm::MCOperand::getReg(), llvm::MCInstPrinter::Immediate, llvm::MCOperand::isReg(), llvm::MCInstPrinter::markup(), llvm::MCInstPrinter::Memory, MI, printOperand(), printRegName(), and llvm::ARM_AM::sub.
void ARMInstPrinter::printAddrMode6OffsetOperand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 763 of file ARMInstPrinter.cpp.
References llvm::MCOperand::getReg(), MI, and printRegName().
void ARMInstPrinter::printAddrMode6Operand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 738 of file ARMInstPrinter.cpp.
References llvm::MCOperand::getImm(), llvm::MCOperand::getReg(), llvm::MCInstPrinter::markup(), llvm::MCInstPrinter::Memory, MI, and printRegName().
void ARMInstPrinter::printAddrMode7Operand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 753 of file ARMInstPrinter.cpp.
References llvm::MCOperand::getReg(), llvm::MCInstPrinter::markup(), llvm::MCInstPrinter::Memory, MI, and printRegName().
void ARMInstPrinter::printAddrModeImm12Operand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1219 of file ARMInstPrinter.cpp.
References llvm::MCInstPrinter::formatImm(), llvm::MCOperand::getImm(), llvm::MCOperand::getReg(), llvm::MCInstPrinter::Immediate, llvm::MCOperand::isReg(), llvm::MCInstPrinter::markup(), llvm::MCInstPrinter::Memory, MI, printOperand(), and printRegName().
void ARMInstPrinter::printAddrModeTBB | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 492 of file ARMInstPrinter.cpp.
References llvm::MCOperand::getReg(), llvm::MCInstPrinter::markup(), llvm::MCInstPrinter::Memory, MI, and printRegName().
void ARMInstPrinter::printAddrModeTBH | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 506 of file ARMInstPrinter.cpp.
References llvm::MCOperand::getReg(), llvm::MCInstPrinter::Immediate, llvm::MCInstPrinter::markup(), llvm::MCInstPrinter::Memory, MI, and printRegName().
|
inline |
Definition at line 117 of file ARMInstPrinter.h.
References MI.
void ARMInstPrinter::printAdrLabelOperand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1078 of file ARMInstPrinter.cpp.
References llvm::MCOperand::getExpr(), llvm::MCOperand::getImm(), llvm::MCInstPrinter::Immediate, llvm::MCOperand::isExpr(), llvm::MCInstPrinter::MAI, llvm::MCInstPrinter::markup(), MI, llvm::MCExpr::print(), and scale().
|
virtual |
Referenced by printInst().
void llvm::ARMInstPrinter::printAM2PostIndexOp | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
void ARMInstPrinter::printAM2PreOrOffsetIndexOp | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 461 of file ARMInstPrinter.cpp.
References llvm::ARM_AM::getAddrOpcStr(), llvm::ARM_AM::getAM2Offset(), llvm::ARM_AM::getAM2Op(), llvm::ARM_AM::getAM2ShiftOpc(), llvm::MCOperand::getImm(), llvm::MCOperand::getReg(), llvm::MCInstPrinter::Immediate, llvm::MCInstPrinter::markup(), llvm::MCInstPrinter::Memory, MI, printRegImmShift(), and printRegName().
Referenced by printAddrMode2Operand().
void ARMInstPrinter::printAM3PreOrOffsetIndexOp | ( | const MCInst * | MI, |
unsigned | Op, | ||
raw_ostream & | O, | ||
bool | AlwaysPrintImm0 | ||
) |
Definition at line 566 of file ARMInstPrinter.cpp.
References llvm::ARM_AM::getAddrOpcStr(), llvm::ARM_AM::getAM3Offset(), llvm::ARM_AM::getAM3Op(), llvm::MCOperand::getImm(), llvm::MCOperand::getReg(), llvm::MCInstPrinter::Immediate, llvm::MCInstPrinter::markup(), llvm::MCInstPrinter::Memory, MI, op, printRegName(), and llvm::ARM_AM::sub.
Referenced by printAddrMode3Operand().
void ARMInstPrinter::printBankedRegOperand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 988 of file ARMInstPrinter.cpp.
void ARMInstPrinter::printBitfieldInvMaskImmOperand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 776 of file ARMInstPrinter.cpp.
References assert(), llvm::bit_width(), llvm::countr_zero(), llvm::MCInstPrinter::Immediate, llvm::MCOperand::isImm(), llvm::MCInstPrinter::markup(), and MI.
void ARMInstPrinter::printCImmediate | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1060 of file ARMInstPrinter.cpp.
References MI.
void ARMInstPrinter::printComplexRotationOp | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1696 of file ARMInstPrinter.cpp.
References MI.
void ARMInstPrinter::printCoprocOptionImm | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1066 of file ARMInstPrinter.cpp.
References MI.
void ARMInstPrinter::printCPSIFlag | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 894 of file ARMInstPrinter.cpp.
References llvm::ARM_PROC::IFlagsToString(), and MI.
void ARMInstPrinter::printCPSIMod | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 888 of file ARMInstPrinter.cpp.
References llvm::ARM_PROC::IModToString(), and MI.
|
virtual |
void ARMInstPrinter::printFBits16 | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1464 of file ARMInstPrinter.cpp.
References llvm::MCInstPrinter::Immediate, llvm::MCInstPrinter::markup(), and MI.
void ARMInstPrinter::printFBits32 | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1469 of file ARMInstPrinter.cpp.
References llvm::MCInstPrinter::Immediate, llvm::MCInstPrinter::markup(), and MI.
void ARMInstPrinter::printFPImmOperand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1385 of file ARMInstPrinter.cpp.
References llvm::ARM_AM::getFPImmFloat(), llvm::MCOperand::getImm(), llvm::MCInstPrinter::Immediate, llvm::MCInstPrinter::markup(), and MI.
void ARMInstPrinter::printGPRPairOperand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 869 of file ARMInstPrinter.cpp.
References llvm::MCRegisterInfo::getSubReg(), MI, llvm::MCInstPrinter::MRI, and printRegName().
void ARMInstPrinter::printImmPlusOneOperand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1404 of file ARMInstPrinter.cpp.
References llvm::MCInstPrinter::formatImm(), llvm::MCInstPrinter::Immediate, llvm::MCInstPrinter::markup(), and MI.
|
overridevirtual |
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 86 of file ARMInstPrinter.cpp.
References llvm::MCInst::addOperand(), llvm::Address, assert(), llvm::MCRegisterClass::contains(), llvm::MCOperand::createReg(), llvm::MCOperand::getImm(), llvm::MCRegisterInfo::getMatchingSuperReg(), llvm::MCOperand::getReg(), llvm::MCRegisterInfo::getRegClass(), llvm::ARM_AM::getShiftOpcStr(), llvm::ARM_AM::getSORegOffset(), llvm::ARM_AM::getSORegShOp(), llvm::MCInstPrinter::Immediate, isStore(), llvm::MCInstPrinter::markup(), MI, llvm::MCInstPrinter::MRI, printAliasInstr(), llvm::MCInstPrinter::printAnnotation(), printInstruction(), printPredicateOperand(), printRegisterList(), printRegName(), printSBitModifierOperand(), llvm::ARM_AM::rrx, llvm::MCInst::setOpcode(), and translateShiftImm().
void llvm::ARMInstPrinter::printInstruction | ( | const MCInst * | MI, |
uint64_t | Address, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Referenced by printInst().
void ARMInstPrinter::printInstSyncBOption | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 797 of file ARMInstPrinter.cpp.
References llvm::ARM_ISB::InstSyncBOptToString(), and MI.
void ARMInstPrinter::printLdStmModeOperand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 677 of file ARMInstPrinter.cpp.
References llvm::ARM_AM::getAM4SubMode(), llvm::ARM_AM::getAMSubModeStr(), and MI.
void ARMInstPrinter::printMandatoryInvertedPredicateOperand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1030 of file ARMInstPrinter.cpp.
References llvm::ARMCondCodeToString(), CC, llvm::ARMCC::getOppositeCondition(), and MI.
void ARMInstPrinter::printMandatoryPredicateOperand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1022 of file ARMInstPrinter.cpp.
References llvm::ARMCondCodeToString(), CC, and MI.
Referenced by printMandatoryRestrictedPredicateOperand().
void ARMInstPrinter::printMandatoryRestrictedPredicateOperand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1013 of file ARMInstPrinter.cpp.
References llvm::ARMCC::HS, MI, and printMandatoryPredicateOperand().
void ARMInstPrinter::printMemBOption | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 790 of file ARMInstPrinter.cpp.
References llvm::MCSubtargetInfo::hasFeature(), llvm::ARM_MB::MemBOptToString(), and MI.
void ARMInstPrinter::printModImmOperand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1422 of file ARMInstPrinter.cpp.
References llvm::ARM_AM::getSOImmVal(), llvm::MCInstPrinter::Immediate, llvm::MCInstPrinter::markup(), MI, and printOperand().
void ARMInstPrinter::printMSRMaskOperand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
void ARMInstPrinter::printMveAddrModeRQOperand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 659 of file ARMInstPrinter.cpp.
References llvm::MCOperand::getReg(), llvm::MCInstPrinter::markup(), llvm::MCInstPrinter::Memory, MI, printRegImmShift(), printRegName(), and llvm::ARM_AM::uxtw.
void ARMInstPrinter::printMveSaturateOp | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1727 of file ARMInstPrinter.cpp.
void ARMInstPrinter::printMVEVectorList | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1682 of file ARMInstPrinter.cpp.
References llvm::MCRegisterInfo::getSubReg(), MI, llvm::MCInstPrinter::MRI, and printRegName().
void ARMInstPrinter::printNoHashImmediate | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1048 of file ARMInstPrinter.cpp.
References MI.
void ARMInstPrinter::printOperand | ( | const MCInst * | MI, |
uint64_t | Address, | ||
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 379 of file ARMInstPrinter.cpp.
References llvm::Address, llvm::MCInstPrinter::CommentStream, llvm::ARM_MC::evaluateBranchTarget(), llvm::MCInstPrinter::formatHex(), llvm::MCInstPrinter::formatImm(), llvm::MCInstrInfo::get(), llvm::MCInstPrinter::getUseMarkup(), MI, llvm::MCInstPrinter::MII, llvm::MCInstPrinter::PrintBranchImmAsAddress, and printOperand().
void ARMInstPrinter::printOperand | ( | const MCInst * | MI, |
unsigned | OpNo, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 339 of file ARMInstPrinter.cpp.
References assert(), llvm::MCExpr::Binary, llvm::MCExpr::Constant, llvm::MCInstPrinter::formatImm(), llvm::MCExpr::getKind(), llvm::MCInstPrinter::Immediate, llvm::MCInstPrinter::MAI, llvm::MCInstPrinter::markup(), MI, llvm::MCExpr::print(), and printRegName().
Referenced by printAddrMode2Operand(), printAddrMode3Operand(), printAddrMode5FP16Operand(), printAddrMode5Operand(), printAddrModeImm12Operand(), printModImmOperand(), printOperand(), printT2AddrModeImm8s4Operand(), printThumbAddrModeImm5SOperand(), and printThumbAddrModeRROperand().
void ARMInstPrinter::printPCLabel | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1072 of file ARMInstPrinter.cpp.
References llvm_unreachable.
void ARMInstPrinter::printPImmediate | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1054 of file ARMInstPrinter.cpp.
References MI.
void ARMInstPrinter::printPKHASRShiftImm | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 837 of file ARMInstPrinter.cpp.
References assert(), llvm::MCInstPrinter::Immediate, llvm::MCInstPrinter::markup(), and MI.
void ARMInstPrinter::printPKHLSLShiftImm | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 826 of file ARMInstPrinter.cpp.
References assert(), llvm::MCInstPrinter::Immediate, llvm::MCInstPrinter::markup(), and MI.
void ARMInstPrinter::printPostIdxImm8Operand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 630 of file ARMInstPrinter.cpp.
References llvm::MCOperand::getImm(), llvm::MCInstPrinter::Immediate, llvm::MCInstPrinter::markup(), and MI.
void ARMInstPrinter::printPostIdxImm8s4Operand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 649 of file ARMInstPrinter.cpp.
References llvm::MCOperand::getImm(), llvm::MCInstPrinter::Immediate, llvm::MCInstPrinter::markup(), and MI.
void ARMInstPrinter::printPostIdxRegOperand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 639 of file ARMInstPrinter.cpp.
References llvm::MCOperand::getImm(), llvm::MCOperand::getReg(), MI, and printRegName().
void ARMInstPrinter::printPredicateOperand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1002 of file ARMInstPrinter.cpp.
References llvm::ARMCC::AL, llvm::ARMCondCodeToString(), CC, and MI.
Referenced by printInst().
void ARMInstPrinter::printRegisterList | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 849 of file ARMInstPrinter.cpp.
References assert(), llvm::drop_begin(), llvm::MCRegisterInfo::getEncodingValue(), llvm::is_sorted(), LHS, MI, llvm::MCInstPrinter::MRI, printRegName(), and RHS.
Referenced by printInst().
|
overridevirtual |
Print the assembler register name.
Reimplemented from llvm::MCInstPrinter.
Definition at line 82 of file ARMInstPrinter.cpp.
References getRegisterName(), llvm::MCInstPrinter::markup(), OS, and llvm::MCInstPrinter::Register.
Referenced by printAddrMode2OffsetOperand(), printAddrMode3OffsetOperand(), printAddrMode5FP16Operand(), printAddrMode5Operand(), printAddrMode6OffsetOperand(), printAddrMode6Operand(), printAddrMode7Operand(), printAddrModeImm12Operand(), printAddrModeTBB(), printAddrModeTBH(), printAM2PreOrOffsetIndexOp(), printAM3PreOrOffsetIndexOp(), printGPRPairOperand(), printInst(), printMveAddrModeRQOperand(), printMVEVectorList(), printOperand(), printPostIdxRegOperand(), printRegisterList(), printSORegImmOperand(), printSORegRegOperand(), printT2AddrModeImm0_1020s4Operand(), printT2AddrModeImm8Operand(), printT2AddrModeImm8s4Operand(), printT2AddrModeSoRegOperand(), printT2SOOperand(), printThumbAddrModeImm5SOperand(), printThumbAddrModeRROperand(), printVectorListFour(), printVectorListFourAllLanes(), printVectorListFourSpaced(), printVectorListFourSpacedAllLanes(), printVectorListOne(), printVectorListOneAllLanes(), printVectorListThree(), printVectorListThreeAllLanes(), printVectorListThreeSpaced(), printVectorListThreeSpacedAllLanes(), printVectorListTwo(), printVectorListTwoAllLanes(), printVectorListTwoSpaced(), and printVectorListTwoSpacedAllLanes().
void ARMInstPrinter::printRotImmOperand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1411 of file ARMInstPrinter.cpp.
References assert(), llvm::MCInstPrinter::Immediate, llvm::MCInstPrinter::markup(), and MI.
void ARMInstPrinter::printSBitModifierOperand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1038 of file ARMInstPrinter.cpp.
Referenced by printInst().
void ARMInstPrinter::printSetendOperand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 878 of file ARMInstPrinter.cpp.
References MI.
void ARMInstPrinter::printShiftImmOperand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 811 of file ARMInstPrinter.cpp.
References llvm::MCInstPrinter::Immediate, llvm::MCInstPrinter::markup(), and MI.
void ARMInstPrinter::printSORegImmOperand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 444 of file ARMInstPrinter.cpp.
References llvm::MCOperand::getImm(), llvm::MCOperand::getReg(), llvm::ARM_AM::getSORegOffset(), llvm::ARM_AM::getSORegShOp(), MI, printRegImmShift(), and printRegName().
void ARMInstPrinter::printSORegRegOperand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 424 of file ARMInstPrinter.cpp.
References assert(), llvm::MCOperand::getImm(), llvm::MCOperand::getReg(), llvm::ARM_AM::getShiftOpcStr(), llvm::ARM_AM::getSORegOffset(), llvm::ARM_AM::getSORegShOp(), MI, printRegName(), and llvm::ARM_AM::rrx.
void ARMInstPrinter::printT2AddrModeImm0_1020s4Operand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1311 of file ARMInstPrinter.cpp.
References llvm::MCInstPrinter::formatImm(), llvm::MCOperand::getImm(), llvm::MCOperand::getReg(), llvm::MCInstPrinter::Immediate, llvm::MCInstPrinter::markup(), llvm::MCInstPrinter::Memory, MI, and printRegName().
void ARMInstPrinter::printT2AddrModeImm8OffsetOperand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1327 of file ARMInstPrinter.cpp.
References llvm::MCOperand::getImm(), llvm::MCInstPrinter::Immediate, llvm::MCInstPrinter::markup(), and MI.
void ARMInstPrinter::printT2AddrModeImm8Operand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1250 of file ARMInstPrinter.cpp.
References llvm::MCOperand::getImm(), llvm::MCOperand::getReg(), llvm::MCInstPrinter::Immediate, llvm::MCInstPrinter::markup(), llvm::MCInstPrinter::Memory, MI, and printRegName().
void ARMInstPrinter::printT2AddrModeImm8s4OffsetOperand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1342 of file ARMInstPrinter.cpp.
References assert(), llvm::MCOperand::getImm(), llvm::MCInstPrinter::Immediate, llvm::MCInstPrinter::markup(), and MI.
void ARMInstPrinter::printT2AddrModeImm8s4Operand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1277 of file ARMInstPrinter.cpp.
References assert(), llvm::MCOperand::getImm(), llvm::MCOperand::getReg(), llvm::MCInstPrinter::Immediate, llvm::MCOperand::isReg(), llvm::MCInstPrinter::markup(), llvm::MCInstPrinter::Memory, MI, printOperand(), and printRegName().
void ARMInstPrinter::printT2AddrModeSoRegOperand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1360 of file ARMInstPrinter.cpp.
References assert(), llvm::MCOperand::getImm(), llvm::MCOperand::getReg(), llvm::MCInstPrinter::Immediate, llvm::MCInstPrinter::markup(), llvm::MCInstPrinter::Memory, MI, and printRegName().
void ARMInstPrinter::printT2SOOperand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1203 of file ARMInstPrinter.cpp.
References assert(), llvm::MCOperand::getImm(), llvm::MCOperand::getReg(), llvm::ARM_AM::getSORegOffset(), llvm::ARM_AM::getSORegShOp(), llvm::MCOperand::isImm(), MI, printRegImmShift(), and printRegName().
void ARMInstPrinter::printThumbAddrModeImm5S1Operand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1172 of file ARMInstPrinter.cpp.
References MI, and printThumbAddrModeImm5SOperand().
void ARMInstPrinter::printThumbAddrModeImm5S2Operand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1179 of file ARMInstPrinter.cpp.
References MI, and printThumbAddrModeImm5SOperand().
void ARMInstPrinter::printThumbAddrModeImm5S4Operand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1186 of file ARMInstPrinter.cpp.
References MI, and printThumbAddrModeImm5SOperand().
void ARMInstPrinter::printThumbAddrModeImm5SOperand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O, | ||
unsigned | Scale | ||
) |
Definition at line 1149 of file ARMInstPrinter.cpp.
References llvm::MCInstPrinter::formatImm(), llvm::MCOperand::getImm(), llvm::MCOperand::getReg(), llvm::MCInstPrinter::Immediate, llvm::MCOperand::isReg(), llvm::MCInstPrinter::markup(), llvm::MCInstPrinter::Memory, MI, printOperand(), and printRegName().
Referenced by printThumbAddrModeImm5S1Operand(), printThumbAddrModeImm5S2Operand(), printThumbAddrModeImm5S4Operand(), and printThumbAddrModeSPOperand().
void ARMInstPrinter::printThumbAddrModeRROperand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1128 of file ARMInstPrinter.cpp.
References llvm::MCOperand::getReg(), llvm::MCOperand::isReg(), llvm::MCInstPrinter::markup(), llvm::MCInstPrinter::Memory, MI, printOperand(), and printRegName().
void ARMInstPrinter::printThumbAddrModeSPOperand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1193 of file ARMInstPrinter.cpp.
References MI, and printThumbAddrModeImm5SOperand().
void ARMInstPrinter::printThumbITMask | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1113 of file ARMInstPrinter.cpp.
References assert(), llvm::countr_zero(), and MI.
|
inline |
Definition at line 219 of file ARMInstPrinter.h.
References MI, and printThumbLdrLabelOperand().
void ARMInstPrinter::printThumbLdrLabelOperand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 393 of file ARMInstPrinter.cpp.
References llvm::MCInstPrinter::formatImm(), llvm::MCOperand::getExpr(), llvm::MCOperand::getImm(), llvm::MCInstPrinter::Immediate, llvm::MCOperand::isExpr(), llvm::MCInstPrinter::MAI, llvm::MCInstPrinter::markup(), llvm::MCInstPrinter::Memory, MI, and llvm::MCExpr::print().
Referenced by printThumbLdrLabelOperand().
void ARMInstPrinter::printThumbS4ImmOperand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1099 of file ARMInstPrinter.cpp.
References llvm::MCInstPrinter::formatImm(), llvm::MCInstPrinter::Immediate, llvm::MCInstPrinter::markup(), and MI.
void ARMInstPrinter::printThumbSRImm | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1106 of file ARMInstPrinter.cpp.
References llvm::MCInstPrinter::formatImm(), llvm::MCInstPrinter::Immediate, llvm::MCInstPrinter::markup(), and MI.
void ARMInstPrinter::printTraceSyncBOption | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 804 of file ARMInstPrinter.cpp.
References MI, and llvm::ARM_TSB::TraceSyncBOptToString().
void ARMInstPrinter::printVectorIndex | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1474 of file ARMInstPrinter.cpp.
References MI.
void ARMInstPrinter::printVectorListFour | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1529 of file ARMInstPrinter.cpp.
References MI, and printRegName().
void ARMInstPrinter::printVectorListFourAllLanes | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1585 of file ARMInstPrinter.cpp.
References MI, and printRegName().
void ARMInstPrinter::printVectorListFourSpaced | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1664 of file ARMInstPrinter.cpp.
References MI, and printRegName().
void ARMInstPrinter::printVectorListFourSpacedAllLanes | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1631 of file ARMInstPrinter.cpp.
References MI, and printRegName().
void ARMInstPrinter::printVectorListOne | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1480 of file ARMInstPrinter.cpp.
References MI, and printRegName().
void ARMInstPrinter::printVectorListOneAllLanes | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1546 of file ARMInstPrinter.cpp.
References MI, and printRegName().
void ARMInstPrinter::printVectorListThree | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1514 of file ARMInstPrinter.cpp.
References MI, and printRegName().
void ARMInstPrinter::printVectorListThreeAllLanes | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1569 of file ARMInstPrinter.cpp.
References MI, and printRegName().
void ARMInstPrinter::printVectorListThreeSpaced | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1648 of file ARMInstPrinter.cpp.
References MI, and printRegName().
void ARMInstPrinter::printVectorListThreeSpacedAllLanes | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1616 of file ARMInstPrinter.cpp.
References MI, and printRegName().
void ARMInstPrinter::printVectorListTwo | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1488 of file ARMInstPrinter.cpp.
References llvm::MCRegisterInfo::getSubReg(), MI, llvm::MCInstPrinter::MRI, and printRegName().
void ARMInstPrinter::printVectorListTwoAllLanes | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1555 of file ARMInstPrinter.cpp.
References llvm::MCRegisterInfo::getSubReg(), MI, llvm::MCInstPrinter::MRI, and printRegName().
void ARMInstPrinter::printVectorListTwoSpaced | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1501 of file ARMInstPrinter.cpp.
References llvm::MCRegisterInfo::getSubReg(), MI, llvm::MCInstPrinter::MRI, and printRegName().
void ARMInstPrinter::printVectorListTwoSpacedAllLanes | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1603 of file ARMInstPrinter.cpp.
References llvm::MCRegisterInfo::getSubReg(), MI, llvm::MCInstPrinter::MRI, and printRegName().
void ARMInstPrinter::printVMOVModImmOperand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1392 of file ARMInstPrinter.cpp.
References llvm::ARM_AM::decodeVMOVModImm(), llvm::MCInstPrinter::Immediate, llvm::MCInstPrinter::markup(), and MI.
void ARMInstPrinter::printVPTMask | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1711 of file ARMInstPrinter.cpp.
References assert(), llvm::countr_zero(), and MI.
void ARMInstPrinter::printVPTPredicateOperand | ( | const MCInst * | MI, |
unsigned | OpNum, | ||
const MCSubtargetInfo & | STI, | ||
raw_ostream & | O | ||
) |
Definition at line 1703 of file ARMInstPrinter.cpp.
References llvm::ARMVPTPredToString(), CC, MI, and llvm::ARMVCC::None.