LLVM 20.0.0git
Public Member Functions | Static Public Member Functions | List of all members
llvm::ARMInstPrinter Class Reference

#include "Target/ARM/MCTargetDesc/ARMInstPrinter.h"

Inheritance diagram for llvm::ARMInstPrinter:
Inheritance graph
[legend]

Public Member Functions

 ARMInstPrinter (const MCAsmInfo &MAI, const MCInstrInfo &MII, const MCRegisterInfo &MRI)
 
bool applyTargetSpecificCLOption (StringRef Opt) override
 Customize the printer according to a command line option.
 
void printInst (const MCInst *MI, uint64_t Address, StringRef Annot, const MCSubtargetInfo &STI, raw_ostream &O) override
 Print the specified MCInst to the specified raw_ostream.
 
void printRegName (raw_ostream &OS, MCRegister Reg) override
 Print the assembler register name.
 
std::pair< const char *, uint64_tgetMnemonic (const MCInst &MI) const override
 Returns a pair containing the mnemonic for MI and the number of bits left for further processing by printInstruction (generated by tablegen).
 
void printInstruction (const MCInst *MI, uint64_t Address, const MCSubtargetInfo &STI, raw_ostream &O)
 
virtual bool printAliasInstr (const MCInst *MI, uint64_t Address, const MCSubtargetInfo &STI, raw_ostream &O)
 
virtual void printCustomAliasOperand (const MCInst *MI, uint64_t Address, unsigned OpIdx, unsigned PrintMethodIdx, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printOperand (const MCInst *MI, unsigned OpNo, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printOperand (const MCInst *MI, uint64_t Address, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printSORegRegOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printSORegImmOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printAddrModeTBB (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printAddrModeTBH (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printAddrMode2Operand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printAM2PostIndexOp (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printAM2PreOrOffsetIndexOp (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printAddrMode2OffsetOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
template<bool AlwaysPrintImm0>
void printAddrMode3Operand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printAddrMode3OffsetOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printAM3PreOrOffsetIndexOp (const MCInst *MI, unsigned Op, raw_ostream &O, bool AlwaysPrintImm0)
 
void printPostIdxImm8Operand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printPostIdxRegOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printPostIdxImm8s4Operand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printLdStmModeOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
template<bool AlwaysPrintImm0>
void printAddrMode5Operand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
template<bool AlwaysPrintImm0>
void printAddrMode5FP16Operand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printAddrMode6Operand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printAddrMode7Operand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printAddrMode6OffsetOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printBitfieldInvMaskImmOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printMemBOption (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printInstSyncBOption (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printTraceSyncBOption (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printShiftImmOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printPKHLSLShiftImm (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printPKHASRShiftImm (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
template<unsigned scale>
void printAdrLabelOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
template<unsigned scale>
void printAdrLabelOperand (const MCInst *MI, uint64_t, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printThumbS4ImmOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printThumbSRImm (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printThumbITMask (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printThumbAddrModeRROperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printThumbAddrModeImm5SOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O, unsigned Scale)
 
void printThumbAddrModeImm5S1Operand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printThumbAddrModeImm5S2Operand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printThumbAddrModeImm5S4Operand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printThumbAddrModeSPOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printT2SOOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
template<bool AlwaysPrintImm0>
void printAddrModeImm12Operand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
template<bool AlwaysPrintImm0>
void printT2AddrModeImm8Operand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
template<bool AlwaysPrintImm0>
void printT2AddrModeImm8s4Operand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printT2AddrModeImm0_1020s4Operand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printT2AddrModeImm8OffsetOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printT2AddrModeImm8s4OffsetOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printT2AddrModeSoRegOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printSetendOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printCPSIMod (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printCPSIFlag (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printMSRMaskOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printBankedRegOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printPredicateOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printMandatoryPredicateOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printMandatoryRestrictedPredicateOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printMandatoryInvertedPredicateOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printSBitModifierOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printRegisterList (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printNoHashImmediate (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printPImmediate (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printCImmediate (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printCoprocOptionImm (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printFPImmOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printVMOVModImmOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printImmPlusOneOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printRotImmOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printModImmOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printGPRPairOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printPCLabel (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printThumbLdrLabelOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printThumbLdrLabelOperand (const MCInst *MI, uint64_t, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printFBits16 (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printFBits32 (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printVectorIndex (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printVectorListOne (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printVectorListTwo (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printVectorListTwoSpaced (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printVectorListThree (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printVectorListFour (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printVectorListOneAllLanes (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printVectorListTwoAllLanes (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printVectorListThreeAllLanes (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printVectorListFourAllLanes (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printVectorListTwoSpacedAllLanes (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printVectorListThreeSpacedAllLanes (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printVectorListFourSpacedAllLanes (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printVectorListThreeSpaced (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printVectorListFourSpaced (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
template<unsigned NumRegs>
void printMVEVectorList (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
template<int64_t Angle, int64_t Remainder>
void printComplexRotationOp (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printVPTPredicateOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printVPTMask (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
template<int shift>
void printMveAddrModeRQOperand (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
void printMveSaturateOp (const MCInst *MI, unsigned OpNum, const MCSubtargetInfo &STI, raw_ostream &O)
 
- Public Member Functions inherited from llvm::MCInstPrinter
 MCInstPrinter (const MCAsmInfo &mai, const MCInstrInfo &mii, const MCRegisterInfo &mri)
 
virtual ~MCInstPrinter ()
 
virtual bool applyTargetSpecificCLOption (StringRef Opt)
 Customize the printer according to a command line option.
 
void setCommentStream (raw_ostream &OS)
 Specify a stream to emit comments to.
 
virtual std::pair< const char *, uint64_tgetMnemonic (const MCInst &MI) const =0
 Returns a pair containing the mnemonic for MI and the number of bits left for further processing by printInstruction (generated by tablegen).
 
virtual void printInst (const MCInst *MI, uint64_t Address, StringRef Annot, const MCSubtargetInfo &STI, raw_ostream &OS)=0
 Print the specified MCInst to the specified raw_ostream.
 
StringRef getOpcodeName (unsigned Opcode) const
 Return the name of the specified opcode enum (e.g.
 
virtual void printRegName (raw_ostream &OS, MCRegister Reg)
 Print the assembler register name.
 
bool getUseMarkup () const
 
void setUseMarkup (bool Value)
 
bool getUseColor () const
 
void setUseColor (bool Value)
 
WithMarkup markup (raw_ostream &OS, Markup M)
 
bool getPrintImmHex () const
 
void setPrintImmHex (bool Value)
 
void setPrintHexStyle (HexStyle::Style Value)
 
void setPrintBranchImmAsAddress (bool Value)
 
void setSymbolizeOperands (bool Value)
 
void setMCInstrAnalysis (const MCInstrAnalysis *Value)
 
format_object< int64_t > formatImm (int64_t Value) const
 Utility function to print immediates in decimal or hex.
 
format_object< int64_t > formatDec (int64_t Value) const
 Utility functions to print decimal/hexadecimal values.
 
format_object< int64_t > formatHex (int64_t Value) const
 
format_object< uint64_tformatHex (uint64_t Value) const
 

Static Public Member Functions

static const chargetRegisterName (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 charmatchAliasPatterns (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_ostreamCommentStream = nullptr
 A stream that comments can be emitted to if desired.
 
const MCAsmInfoMAI
 
const MCInstrInfoMII
 
const MCRegisterInfoMRI
 
const MCInstrAnalysisMIA = 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}
 

Detailed Description

Definition at line 21 of file ARMInstPrinter.h.

Constructor & Destructor Documentation

◆ ARMInstPrinter()

ARMInstPrinter::ARMInstPrinter ( const MCAsmInfo MAI,
const MCInstrInfo MII,
const MCRegisterInfo MRI 
)

Definition at line 66 of file ARMInstPrinter.cpp.

Member Function Documentation

◆ applyTargetSpecificCLOption()

bool ARMInstPrinter::applyTargetSpecificCLOption ( StringRef  Opt)
overridevirtual

Customize the printer according to a command line option.

Returns
true if the option is recognized and applied.

Reimplemented from llvm::MCInstPrinter.

Definition at line 70 of file ARMInstPrinter.cpp.

◆ getMnemonic()

std::pair< const char *, uint64_t > llvm::ARMInstPrinter::getMnemonic ( const MCInst MI) const
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.

◆ getRegisterName()

static const char * llvm::ARMInstPrinter::getRegisterName ( MCRegister  Reg,
unsigned  AltIdx = ARM::NoRegAltName 
)
static

◆ printAddrMode2OffsetOperand()

void ARMInstPrinter::printAddrMode2OffsetOperand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printAddrMode2Operand()

void ARMInstPrinter::printAddrMode2Operand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printAddrMode3OffsetOperand()

void ARMInstPrinter::printAddrMode3OffsetOperand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printAddrMode3Operand()

template<bool AlwaysPrintImm0>
void ARMInstPrinter::printAddrMode3Operand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printAddrMode5FP16Operand()

template<bool AlwaysPrintImm0>
void ARMInstPrinter::printAddrMode5FP16Operand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printAddrMode5Operand()

template<bool AlwaysPrintImm0>
void ARMInstPrinter::printAddrMode5Operand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printAddrMode6OffsetOperand()

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().

◆ printAddrMode6Operand()

void ARMInstPrinter::printAddrMode6Operand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printAddrMode7Operand()

void ARMInstPrinter::printAddrMode7Operand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printAddrModeImm12Operand()

template<bool AlwaysPrintImm0>
void ARMInstPrinter::printAddrModeImm12Operand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printAddrModeTBB()

void ARMInstPrinter::printAddrModeTBB ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printAddrModeTBH()

void ARMInstPrinter::printAddrModeTBH ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printAdrLabelOperand() [1/2]

template<unsigned scale>
void llvm::ARMInstPrinter::printAdrLabelOperand ( const MCInst MI,
uint64_t  ,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)
inline

Definition at line 117 of file ARMInstPrinter.h.

References MI.

◆ printAdrLabelOperand() [2/2]

template<unsigned scale>
void ARMInstPrinter::printAdrLabelOperand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printAliasInstr()

virtual bool llvm::ARMInstPrinter::printAliasInstr ( const MCInst MI,
uint64_t  Address,
const MCSubtargetInfo STI,
raw_ostream O 
)
virtual

Referenced by printInst().

◆ printAM2PostIndexOp()

void llvm::ARMInstPrinter::printAM2PostIndexOp ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printAM2PreOrOffsetIndexOp()

void ARMInstPrinter::printAM2PreOrOffsetIndexOp ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printAM3PreOrOffsetIndexOp()

void ARMInstPrinter::printAM3PreOrOffsetIndexOp ( const MCInst MI,
unsigned  Op,
raw_ostream O,
bool  AlwaysPrintImm0 
)

◆ printBankedRegOperand()

void ARMInstPrinter::printBankedRegOperand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

Definition at line 988 of file ARMInstPrinter.cpp.

References assert(), MI, and Name.

◆ printBitfieldInvMaskImmOperand()

void ARMInstPrinter::printBitfieldInvMaskImmOperand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printCImmediate()

void ARMInstPrinter::printCImmediate ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

Definition at line 1060 of file ARMInstPrinter.cpp.

References MI.

◆ printComplexRotationOp()

template<int64_t Angle, int64_t Remainder>
void ARMInstPrinter::printComplexRotationOp ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

Definition at line 1696 of file ARMInstPrinter.cpp.

References MI.

◆ printCoprocOptionImm()

void ARMInstPrinter::printCoprocOptionImm ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

Definition at line 1066 of file ARMInstPrinter.cpp.

References MI.

◆ printCPSIFlag()

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.

◆ printCPSIMod()

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.

◆ printCustomAliasOperand()

virtual void llvm::ARMInstPrinter::printCustomAliasOperand ( const MCInst MI,
uint64_t  Address,
unsigned  OpIdx,
unsigned  PrintMethodIdx,
const MCSubtargetInfo STI,
raw_ostream O 
)
virtual

◆ printFBits16()

void ARMInstPrinter::printFBits16 ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printFBits32()

void ARMInstPrinter::printFBits32 ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printFPImmOperand()

void ARMInstPrinter::printFPImmOperand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printGPRPairOperand()

void ARMInstPrinter::printGPRPairOperand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printImmPlusOneOperand()

void ARMInstPrinter::printImmPlusOneOperand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printInst()

void ARMInstPrinter::printInst ( const MCInst MI,
uint64_t  Address,
StringRef  Annot,
const MCSubtargetInfo STI,
raw_ostream OS 
)
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().

◆ printInstruction()

void llvm::ARMInstPrinter::printInstruction ( const MCInst MI,
uint64_t  Address,
const MCSubtargetInfo STI,
raw_ostream O 
)

Referenced by printInst().

◆ printInstSyncBOption()

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.

◆ printLdStmModeOperand()

void ARMInstPrinter::printLdStmModeOperand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printMandatoryInvertedPredicateOperand()

void ARMInstPrinter::printMandatoryInvertedPredicateOperand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printMandatoryPredicateOperand()

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().

◆ 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().

◆ printMemBOption()

void ARMInstPrinter::printMemBOption ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printModImmOperand()

void ARMInstPrinter::printModImmOperand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printMSRMaskOperand()

void ARMInstPrinter::printMSRMaskOperand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printMveAddrModeRQOperand()

template<int shift>
void ARMInstPrinter::printMveAddrModeRQOperand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printMveSaturateOp()

void ARMInstPrinter::printMveSaturateOp ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

Definition at line 1727 of file ARMInstPrinter.cpp.

References assert(), and MI.

◆ printMVEVectorList()

template<unsigned NumRegs>
void ARMInstPrinter::printMVEVectorList ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printNoHashImmediate()

void ARMInstPrinter::printNoHashImmediate ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

Definition at line 1048 of file ARMInstPrinter.cpp.

References MI.

◆ printOperand() [1/2]

void ARMInstPrinter::printOperand ( const MCInst MI,
uint64_t  Address,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printOperand() [2/2]

void ARMInstPrinter::printOperand ( const MCInst MI,
unsigned  OpNo,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printPCLabel()

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.

◆ printPImmediate()

void ARMInstPrinter::printPImmediate ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

Definition at line 1054 of file ARMInstPrinter.cpp.

References MI.

◆ printPKHASRShiftImm()

void ARMInstPrinter::printPKHASRShiftImm ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printPKHLSLShiftImm()

void ARMInstPrinter::printPKHLSLShiftImm ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printPostIdxImm8Operand()

void ARMInstPrinter::printPostIdxImm8Operand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printPostIdxImm8s4Operand()

void ARMInstPrinter::printPostIdxImm8s4Operand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printPostIdxRegOperand()

void ARMInstPrinter::printPostIdxRegOperand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printPredicateOperand()

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().

◆ printRegisterList()

void ARMInstPrinter::printRegisterList ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printRegName()

void ARMInstPrinter::printRegName ( raw_ostream OS,
MCRegister  Reg 
)
overridevirtual

◆ printRotImmOperand()

void ARMInstPrinter::printRotImmOperand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printSBitModifierOperand()

void ARMInstPrinter::printSBitModifierOperand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

Definition at line 1038 of file ARMInstPrinter.cpp.

References assert(), and MI.

Referenced by printInst().

◆ printSetendOperand()

void ARMInstPrinter::printSetendOperand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

Definition at line 878 of file ARMInstPrinter.cpp.

References MI.

◆ printShiftImmOperand()

void ARMInstPrinter::printShiftImmOperand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printSORegImmOperand()

void ARMInstPrinter::printSORegImmOperand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printSORegRegOperand()

void ARMInstPrinter::printSORegRegOperand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printT2AddrModeImm0_1020s4Operand()

void ARMInstPrinter::printT2AddrModeImm0_1020s4Operand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printT2AddrModeImm8OffsetOperand()

void ARMInstPrinter::printT2AddrModeImm8OffsetOperand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printT2AddrModeImm8Operand()

template<bool AlwaysPrintImm0>
void ARMInstPrinter::printT2AddrModeImm8Operand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printT2AddrModeImm8s4OffsetOperand()

void ARMInstPrinter::printT2AddrModeImm8s4OffsetOperand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printT2AddrModeImm8s4Operand()

template<bool AlwaysPrintImm0>
void ARMInstPrinter::printT2AddrModeImm8s4Operand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printT2AddrModeSoRegOperand()

void ARMInstPrinter::printT2AddrModeSoRegOperand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printT2SOOperand()

void ARMInstPrinter::printT2SOOperand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printThumbAddrModeImm5S1Operand()

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().

◆ printThumbAddrModeImm5S2Operand()

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().

◆ printThumbAddrModeImm5S4Operand()

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().

◆ printThumbAddrModeImm5SOperand()

void ARMInstPrinter::printThumbAddrModeImm5SOperand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O,
unsigned  Scale 
)

◆ printThumbAddrModeRROperand()

void ARMInstPrinter::printThumbAddrModeRROperand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printThumbAddrModeSPOperand()

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().

◆ printThumbITMask()

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.

◆ printThumbLdrLabelOperand() [1/2]

void llvm::ARMInstPrinter::printThumbLdrLabelOperand ( const MCInst MI,
uint64_t  ,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)
inline

Definition at line 219 of file ARMInstPrinter.h.

References MI, and printThumbLdrLabelOperand().

◆ printThumbLdrLabelOperand() [2/2]

void ARMInstPrinter::printThumbLdrLabelOperand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printThumbS4ImmOperand()

void ARMInstPrinter::printThumbS4ImmOperand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printThumbSRImm()

void ARMInstPrinter::printThumbSRImm ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printTraceSyncBOption()

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().

◆ printVectorIndex()

void ARMInstPrinter::printVectorIndex ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

Definition at line 1474 of file ARMInstPrinter.cpp.

References MI.

◆ printVectorListFour()

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().

◆ printVectorListFourAllLanes()

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().

◆ printVectorListFourSpaced()

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().

◆ printVectorListFourSpacedAllLanes()

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().

◆ printVectorListOne()

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().

◆ printVectorListOneAllLanes()

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().

◆ printVectorListThree()

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().

◆ printVectorListThreeAllLanes()

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().

◆ printVectorListThreeSpaced()

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().

◆ printVectorListThreeSpacedAllLanes()

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().

◆ printVectorListTwo()

void ARMInstPrinter::printVectorListTwo ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printVectorListTwoAllLanes()

void ARMInstPrinter::printVectorListTwoAllLanes ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printVectorListTwoSpaced()

void ARMInstPrinter::printVectorListTwoSpaced ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printVectorListTwoSpacedAllLanes()

void ARMInstPrinter::printVectorListTwoSpacedAllLanes ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printVMOVModImmOperand()

void ARMInstPrinter::printVMOVModImmOperand ( const MCInst MI,
unsigned  OpNum,
const MCSubtargetInfo STI,
raw_ostream O 
)

◆ printVPTMask()

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.

◆ printVPTPredicateOperand()

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.


The documentation for this class was generated from the following files: