LLVM
8.0.1
|
#include "Target/AArch64/InstPrinter/AArch64InstPrinter.h"
Static Public Member Functions | |
static const char * | getRegisterName (unsigned RegNo, unsigned AltIdx=AArch64::NoRegAltName) |
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 24 of file AArch64InstPrinter.h.
AArch64InstPrinter::AArch64InstPrinter | ( | const MCAsmInfo & | MAI, |
const MCInstrInfo & | MII, | ||
const MCRegisterInfo & | MRI | ||
) |
Definition at line 45 of file AArch64InstPrinter.cpp.
|
static |
Referenced by getRegName(), and llvm::AArch64AppleInstPrinter::getRegName().
Reimplemented in llvm::AArch64AppleInstPrinter.
Definition at line 43 of file AArch64InstPrinter.h.
References getRegisterName(), printImm(), printImmHex(), printImmSVE(), printOperand(), printPostIncOperand(), and printSysAlias().
|
protected |
Definition at line 920 of file AArch64InstPrinter.cpp.
References assert(), llvm::MCInstPrinter::CommentStream, llvm::MCInstPrinter::formatImm(), llvm::MCOperand::getExpr(), llvm::MCOperand::getImm(), llvm::MCInst::getOperand(), llvm::AArch64_AM::getShiftValue(), llvm::MCOperand::isExpr(), llvm::MCOperand::isImm(), llvm::MCInstPrinter::MAI, llvm::MCExpr::print(), and printShifter().
Referenced by printPostIncOperand().
|
protected |
Definition at line 1349 of file AArch64InstPrinter.cpp.
References llvm::MCInstPrinter::formatImm(), llvm::MCOperand::getExpr(), llvm::MCOperand::getImm(), llvm::MCInst::getOperand(), llvm::MCOperand::isImm(), llvm::MCInstPrinter::MAI, and llvm::MCExpr::print().
Referenced by printAMIndexedWB().
|
virtual |
Reimplemented in llvm::AArch64AppleInstPrinter.
|
protected |
Definition at line 1324 of file AArch64InstPrinter.cpp.
References llvm::Address, llvm::dyn_cast(), llvm::MCExpr::evaluateAsAbsolute(), llvm::MCInstPrinter::formatImm(), llvm::MCOperand::getExpr(), llvm::MCOperand::getImm(), llvm::MCInst::getOperand(), llvm::MCOperand::isImm(), llvm::MCInstPrinter::MAI, llvm::MCExpr::print(), and llvm::raw_ostream::write_hex().
Referenced by printMemExtend().
|
protected |
Definition at line 1082 of file AArch64InstPrinter.cpp.
References assert(), llvm::MCInstPrinter::formatImm(), llvm::MCOperand::getExpr(), llvm::MCOperand::getImm(), llvm::MCInst::getOperand(), llvm::MCOperand::getReg(), llvm::AArch64AppleInstPrinter::getRegisterName(), llvm::MCOperand::isExpr(), llvm::MCOperand::isImm(), llvm::MCInstPrinter::MAI, and llvm::MCExpr::print().
Referenced by printAMIndexedWB(), and printMemExtend().
|
inlineprotected |
Definition at line 115 of file AArch64InstPrinter.h.
References printAdrpLabel(), printAMIndexedWB(), printAMNoIndex(), printBarrierOption(), printBTIHintOp(), printComplexRotationOp(), printExactFPImm(), printFPImmOperand(), printGPR64as32(), printGPRSeqPairsClassOperand(), printImm8OptLsl(), printImmScale(), printImplicitlyTypedVectorList(), printMRSSystemRegister(), printMSRSystemRegister(), printPrefetchOp(), printPSBHintOp(), printSIMDType10Operand(), printSVELogicalImm(), printSVEPattern(), printSVERegOp(), printSystemPStateField(), printTypedVectorList(), printVectorIndex(), printVectorList(), and printZPRasFPR().
|
protected |
Definition at line 1058 of file AArch64InstPrinter.cpp.
References llvm::MCInst::getOperand(), llvm::MCOperand::getReg(), and llvm::AArch64AppleInstPrinter::getRegisterName().
Referenced by printAMIndexedWB().
|
protected |
Definition at line 977 of file AArch64InstPrinter.cpp.
References llvm::AArch64_AM::getArithExtendType(), llvm::AArch64_AM::getArithShiftValue(), llvm::MCOperand::getImm(), llvm::MCInst::getOperand(), llvm::MCOperand::getReg(), llvm::AArch64_AM::getShiftExtendName(), llvm::AArch64_AM::UXTW, and llvm::AArch64_AM::UXTX.
Referenced by printExtendedRegister(), and printPostIncOperand().
|
protected |
Definition at line 1365 of file AArch64InstPrinter.cpp.
References llvm::StringRef::empty(), llvm::MCOperand::getImm(), llvm::MCInst::getOpcode(), llvm::MCInst::getOperand(), and Name.
Referenced by printAMIndexedWB().
|
protected |
Definition at line 1125 of file AArch64InstPrinter.cpp.
References llvm::MCInstPrinter::formatImm(), llvm::MCOperand::getImm(), and llvm::MCInst::getOperand().
Referenced by printAMIndexedWB().
|
protected |
Definition at line 1449 of file AArch64InstPrinter.cpp.
References llvm::MCOperand::getImm(), and llvm::MCInst::getOperand().
Referenced by printAMIndexedWB().
|
protected |
Definition at line 1044 of file AArch64InstPrinter.cpp.
References llvm::AArch64CC::getCondCodeName(), llvm::MCOperand::getImm(), and llvm::MCInst::getOperand().
Referenced by printMemExtend().
|
virtual |
Reimplemented in llvm::AArch64AppleInstPrinter.
|
protected |
Definition at line 1568 of file AArch64InstPrinter.cpp.
References llvm::MCOperand::getImm(), and llvm::MCInst::getOperand().
Referenced by printAMIndexedWB().
|
protected |
Definition at line 970 of file AArch64InstPrinter.cpp.
References llvm::MCInst::getOperand(), llvm::MCOperand::getReg(), llvm::AArch64AppleInstPrinter::getRegisterName(), and printArithExtend().
Referenced by printPostIncOperand().
|
protected |
Definition at line 1136 of file AArch64InstPrinter.cpp.
References llvm::format(), llvm::MCOperand::getFPImm(), llvm::AArch64_AM::getFPImmFloat(), llvm::MCOperand::getImm(), llvm::MCInst::getOperand(), and llvm::MCOperand::isFPImm().
Referenced by printAMIndexedWB().
|
protected |
Definition at line 1577 of file AArch64InstPrinter.cpp.
References llvm::MCInst::getOperand(), llvm::MCOperand::getReg(), llvm::AArch64AppleInstPrinter::getRegisterName(), llvm::getWRegFromXReg(), and Reg.
Referenced by printAMIndexedWB().
|
protected |
Definition at line 1228 of file AArch64InstPrinter.cpp.
References llvm::MCInst::getOperand(), llvm::MCOperand::getReg(), llvm::AArch64AppleInstPrinter::getRegisterName(), llvm::MCRegisterInfo::getSubReg(), llvm::MCInstPrinter::MRI, Reg, and llvm::size().
Referenced by printAMIndexedWB().
|
protected |
Definition at line 876 of file AArch64InstPrinter.cpp.
References llvm::MCInstPrinter::formatImm(), llvm::MCOperand::getImm(), and llvm::MCInst::getOperand().
Referenced by getRegName(), and printOperand().
|
protected |
Definition at line 1506 of file AArch64InstPrinter.cpp.
References assert(), llvm::MCInstPrinter::formatImm(), llvm::MCOperand::getImm(), llvm::MCInst::getOperand(), llvm::AArch64_AM::getShiftType(), llvm::AArch64_AM::getShiftValue(), llvm::AArch64_AM::LSL, printImmSVE(), and printShifter().
Referenced by printAMIndexedWB().
|
protected |
Definition at line 883 of file AArch64InstPrinter.cpp.
References llvm::format(), llvm::MCOperand::getImm(), and llvm::MCInst::getOperand().
Referenced by getRegName().
|
protected |
Definition at line 1065 of file AArch64InstPrinter.cpp.
References llvm::MCInstPrinter::formatImm(), llvm::MCOperand::getImm(), and llvm::MCInst::getOperand().
Referenced by printAMIndexedWB().
|
protected |
Definition at line 1488 of file AArch64InstPrinter.cpp.
References llvm::MCInstPrinter::CommentStream, llvm::MCInstPrinter::formatDec(), llvm::MCInstPrinter::formatHex(), and llvm::MCInstPrinter::getPrintImmHex().
Referenced by getRegName(), printImm8OptLsl(), and printSVELogicalImm().
|
protected |
Print a list of vector registers where the type suffix is implicit (i.e.
attached to the instruction rather than the registers).
Definition at line 1298 of file AArch64InstPrinter.cpp.
References printVectorList().
Referenced by printAMIndexedWB().
|
overridevirtual |
Print the specified MCInst to the specified raw_ostream.
Implements llvm::MCInstPrinter.
Reimplemented in llvm::AArch64AppleInstPrinter.
Definition at line 60 of file AArch64InstPrinter.cpp.
References llvm::AArch64_AM::decodeLogicalImmediate(), llvm::MCInstPrinter::formatImm(), llvm::MCAsmInfo::getCommentString(), llvm::MCOperand::getExpr(), llvm::MCOperand::getImm(), llvm::MCInst::getOpcode(), llvm::MCInst::getOperand(), llvm::MCOperand::getReg(), llvm::AArch64AppleInstPrinter::getRegisterName(), llvm::getWRegFromXReg(), llvm::AArch64_AM::isAnyMOVWMovAlias(), llvm::MCOperand::isExpr(), llvm::MCOperand::isImm(), llvm::AArch64_AM::isMOVNMovAlias(), llvm::AArch64_AM::isMOVZMovAlias(), llvm::MCInstPrinter::MAI, llvm::MCExpr::print(), llvm::AArch64AppleInstPrinter::printAliasInstr(), llvm::MCInstPrinter::printAnnotation(), llvm::AArch64AppleInstPrinter::printInstruction(), printSysAlias(), and llvm::SignExtend64().
Referenced by llvm::AArch64AppleInstPrinter::printInst().
|
virtual |
Reimplemented in llvm::AArch64AppleInstPrinter.
|
protected |
Definition at line 1051 of file AArch64InstPrinter.cpp.
References llvm::AArch64CC::getCondCodeName(), llvm::MCOperand::getImm(), llvm::AArch64CC::getInvertedCondCode(), and llvm::MCInst::getOperand().
Referenced by printMemExtend().
|
protected |
Definition at line 943 of file AArch64InstPrinter.cpp.
References llvm::AArch64_AM::decodeLogicalImmediate(), llvm::MCOperand::getImm(), llvm::MCInst::getOperand(), and llvm::raw_ostream::write_hex().
Referenced by printPostIncOperand().
|
protected |
Definition at line 1018 of file AArch64InstPrinter.cpp.
References llvm::MCOperand::getImm(), llvm::MCInst::getOperand(), and printMemExtendImpl().
Referenced by printMemExtend(), and printPostIncOperand().
|
inlineprotected |
Definition at line 90 of file AArch64InstPrinter.h.
References printAlignedLabel(), printAMIndexedWB(), printCondCode(), printInverseCondCode(), printMemExtend(), printRegWithShiftExtend(), and printUImm12Offset().
|
protected |
Definition at line 1388 of file AArch64InstPrinter.cpp.
References llvm::AArch64SysReg::genericRegisterString(), llvm::MCSubtargetInfo::getFeatureBits(), llvm::MCOperand::getImm(), llvm::MCInst::getOperand(), llvm::AArch64SysReg::SysReg::haveFeatures(), llvm::AArch64SysReg::lookupSysRegByEncoding(), llvm::AArch64SysReg::SysReg::Name, llvm::AArch64SysReg::SysReg::Readable, and Reg.
Referenced by printAMIndexedWB().
|
protected |
Definition at line 1408 of file AArch64InstPrinter.cpp.
References llvm::AArch64SysReg::genericRegisterString(), llvm::MCSubtargetInfo::getFeatureBits(), llvm::MCOperand::getImm(), llvm::MCInst::getOperand(), llvm::AArch64SysReg::SysReg::haveFeatures(), llvm::AArch64SysReg::lookupSysRegByEncoding(), llvm::AArch64SysReg::SysReg::Name, Reg, and llvm::AArch64SysReg::SysReg::Writeable.
Referenced by printAMIndexedWB().
|
protected |
Definition at line 861 of file AArch64InstPrinter.cpp.
References assert(), llvm::MCOperand::getExpr(), llvm::MCInst::getOperand(), llvm::MCOperand::getReg(), llvm::AArch64AppleInstPrinter::getRegisterName(), llvm::MCOperand::isExpr(), llvm::MCOperand::isImm(), llvm::MCOperand::isReg(), llvm::MCInstPrinter::MAI, llvm::MCExpr::print(), printImm(), and Reg.
Referenced by getRegName(), and printRegWithShiftExtend().
|
protected |
Definition at line 890 of file AArch64InstPrinter.cpp.
References llvm::MCInst::getOperand(), llvm::MCOperand::getReg(), llvm::AArch64AppleInstPrinter::getRegisterName(), llvm::MCOperand::isReg(), llvm_unreachable, and Reg.
Referenced by getRegName(), and printPostIncOperand().
|
inlineprotected |
Definition at line 64 of file AArch64InstPrinter.h.
References printAddSubImm(), printArithExtend(), printExtendedRegister(), printLogicalImm(), printMemExtend(), printPostIncOperand(), printShiftedRegister(), printShifter(), printSysCROperand(), and printVRegOperand().
|
protected |
Definition at line 1097 of file AArch64InstPrinter.cpp.
References llvm::MCInstPrinter::formatImm(), llvm::MCOperand::getImm(), and llvm::MCInst::getOperand().
Referenced by printAMIndexedWB().
|
protected |
Definition at line 1114 of file AArch64InstPrinter.cpp.
References llvm::MCInstPrinter::formatImm(), llvm::MCOperand::getImm(), and llvm::MCInst::getOperand().
Referenced by printAMIndexedWB().
|
overridevirtual |
Print the assembler register name.
Reimplemented from llvm::MCInstPrinter.
Definition at line 55 of file AArch64InstPrinter.cpp.
References llvm::AArch64AppleInstPrinter::getRegisterName().
|
protected |
Definition at line 1027 of file AArch64InstPrinter.cpp.
References assert(), printMemExtendImpl(), and printOperand().
Referenced by printMemExtend().
|
protected |
Definition at line 963 of file AArch64InstPrinter.cpp.
References llvm::MCInst::getOperand(), llvm::MCOperand::getReg(), llvm::AArch64AppleInstPrinter::getRegisterName(), and printShifter().
Referenced by printPostIncOperand().
|
protected |
Definition at line 951 of file AArch64InstPrinter.cpp.
References llvm::MCOperand::getImm(), llvm::MCInst::getOperand(), llvm::AArch64_AM::getShiftExtendName(), llvm::AArch64_AM::getShiftType(), llvm::AArch64_AM::getShiftValue(), and llvm::AArch64_AM::LSL.
Referenced by printAddSubImm(), printImm8OptLsl(), printPostIncOperand(), and printShiftedRegister().
|
protected |
Definition at line 1440 of file AArch64InstPrinter.cpp.
References llvm::AArch64_AM::decodeAdvSIMDModImmType10(), llvm::format(), llvm::MCOperand::getImm(), and llvm::MCInst::getOperand().
Referenced by printAMIndexedWB().
|
protected |
Definition at line 1531 of file AArch64InstPrinter.cpp.
References llvm::AArch64_AM::decodeLogicalImmediate(), llvm::MCInstPrinter::formatHex(), llvm::MCOperand::getImm(), llvm::MCInst::getOperand(), and printImmSVE().
Referenced by printAMIndexedWB().
|
protected |
Definition at line 1456 of file AArch64InstPrinter.cpp.
References llvm::MCInstPrinter::formatImm(), llvm::MCOperand::getImm(), and llvm::MCInst::getOperand().
Referenced by printAMIndexedWB().
|
protected |
Definition at line 1467 of file AArch64InstPrinter.cpp.
References llvm::MCInst::getOperand(), llvm::MCOperand::getReg(), llvm::AArch64AppleInstPrinter::getRegisterName(), llvm_unreachable, and Reg.
Referenced by printAMIndexedWB().
|
protected |
Definition at line 748 of file AArch64InstPrinter.cpp.
References assert(), DC, llvm::MCSubtargetInfo::getFeatureBits(), llvm::MCOperand::getImm(), llvm::MCInst::getOpcode(), llvm::MCInst::getOperand(), llvm::MCOperand::getReg(), llvm::AArch64AppleInstPrinter::getRegisterName(), llvm::SysAlias::haveFeatures(), llvm::MipsISD::Ins, Name, llvm::SysAlias::Name, llvm::SysAliasReg::NeedsReg, and llvm::transform().
Referenced by getRegName(), and printInst().
|
protected |
Definition at line 912 of file AArch64InstPrinter.cpp.
References assert(), llvm::MCOperand::getImm(), llvm::MCInst::getOperand(), and llvm::MCOperand::isImm().
Referenced by printPostIncOperand().
|
protected |
Definition at line 1428 of file AArch64InstPrinter.cpp.
References llvm::MCInstPrinter::formatImm(), llvm::MCSubtargetInfo::getFeatureBits(), llvm::MCOperand::getImm(), and llvm::MCInst::getOperand().
Referenced by printAMIndexedWB().
|
protected |
Definition at line 1306 of file AArch64InstPrinter.cpp.
References llvm::itostr(), and printVectorList().
Referenced by printAMIndexedWB().
|
protected |
Definition at line 1071 of file AArch64InstPrinter.cpp.
References assert(), 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 printMemExtend(), and printUImm12Offset().
|
inlineprotected |
Definition at line 109 of file AArch64InstPrinter.h.
References printUImm12Offset().
|
protected |
Definition at line 1318 of file AArch64InstPrinter.cpp.
References llvm::MCOperand::getImm(), and llvm::MCInst::getOperand().
Referenced by printAMIndexedWB().
|
protected |
Definition at line 1244 of file AArch64InstPrinter.cpp.
References llvm::MCRegisterClass::contains(), llvm::MCRegisterInfo::getMatchingSuperReg(), getNextVectorRegister(), llvm::MCInst::getOperand(), llvm::MCOperand::getReg(), llvm::MCRegisterInfo::getRegClass(), llvm::AArch64AppleInstPrinter::getRegisterName(), llvm::MCRegisterInfo::getSubReg(), llvm::MCInstPrinter::MRI, and Reg.
Referenced by printAMIndexedWB(), printImplicitlyTypedVectorList(), llvm::AArch64AppleInstPrinter::printInst(), and printTypedVectorList().
|
protected |
Definition at line 903 of file AArch64InstPrinter.cpp.
References assert(), llvm::MCInst::getOperand(), llvm::MCOperand::getReg(), llvm::AArch64AppleInstPrinter::getRegisterName(), llvm::MCOperand::isReg(), and Reg.
Referenced by printPostIncOperand().
|
protected |
Definition at line 1550 of file AArch64InstPrinter.cpp.
References llvm::MCInst::getOperand(), llvm::MCOperand::getReg(), llvm::AArch64AppleInstPrinter::getRegisterName(), llvm_unreachable, and Reg.
Referenced by printAMIndexedWB().