LLVM 22.0.0git
llvm::AArch64MCInstLower Class Reference

AArch64MCInstLower - This class is used to lower an MachineInstr into an MCInst. More...

#include "Target/AArch64/AArch64MCInstLower.h"

Public Member Functions

 AArch64MCInstLower (MCContext &ctx, AsmPrinter &printer)
bool lowerOperand (const MachineOperand &MO, MCOperand &MCOp) const
void Lower (const MachineInstr *MI, MCInst &OutMI) const
MCOperand lowerSymbolOperandMachO (const MachineOperand &MO, MCSymbol *Sym) const
MCOperand lowerSymbolOperandELF (const MachineOperand &MO, MCSymbol *Sym) const
MCOperand lowerSymbolOperandCOFF (const MachineOperand &MO, MCSymbol *Sym) const
MCOperand LowerSymbolOperand (const MachineOperand &MO, MCSymbol *Sym) const
MCSymbolGetGlobalValueSymbol (const GlobalValue *GV, unsigned TargetFlags) const
MCSymbolGetGlobalAddressSymbol (const MachineOperand &MO) const
MCSymbolGetExternalSymbolSymbol (const MachineOperand &MO) const

Detailed Description

AArch64MCInstLower - This class is used to lower an MachineInstr into an MCInst.

Definition at line 27 of file AArch64MCInstLower.h.

Constructor & Destructor Documentation

◆ AArch64MCInstLower()

AArch64MCInstLower::AArch64MCInstLower ( MCContext & ctx,
AsmPrinter & printer )

Definition at line 38 of file AArch64MCInstLower.cpp.

References printer.

Member Function Documentation

◆ GetExternalSymbolSymbol()

MCSymbol * AArch64MCInstLower::GetExternalSymbolSymbol ( const MachineOperand & MO) const

Definition at line 142 of file AArch64MCInstLower.cpp.

References llvm::MachineOperand::getSymbolName().

Referenced by lowerOperand().

◆ GetGlobalAddressSymbol()

MCSymbol * AArch64MCInstLower::GetGlobalAddressSymbol ( const MachineOperand & MO) const

◆ GetGlobalValueSymbol()

◆ Lower()

void AArch64MCInstLower::Lower ( const MachineInstr * MI,
MCInst & OutMI ) const

◆ lowerOperand()

◆ LowerSymbolOperand()

MCOperand AArch64MCInstLower::LowerSymbolOperand ( const MachineOperand & MO,
MCSymbol * Sym ) const

◆ lowerSymbolOperandCOFF()

◆ lowerSymbolOperandELF()

MCOperand AArch64MCInstLower::lowerSymbolOperandELF ( const MachineOperand & MO,
MCSymbol * Sym ) const

Definition at line 182 of file AArch64MCInstLower.cpp.

References assert(), llvm::MCConstantExpr::create(), llvm::MCSpecifierExpr::create(), llvm::MCSymbolRefExpr::create(), llvm::MCBinaryExpr::createAdd(), llvm::MCOperand::createExpr(), EnableAArch64ELFLocalDynamicTLSGeneration, llvm::TLSModel::GeneralDynamic, llvm::MachineOperand::getGlobal(), llvm::MachineFunction::getInfo(), llvm::MachineOperand::getOffset(), llvm::MachineBasicBlock::getParent(), llvm::MachineInstr::getParent(), llvm::MachineOperand::getParent(), llvm::MachineOperand::getSymbolName(), llvm::MachineOperand::getTargetFlags(), llvm::AArch64FunctionInfo::hasELFSignedGOT(), llvm::TLSModel::InitialExec, llvm::MachineOperand::isGlobal(), llvm::MachineOperand::isJTI(), llvm::MachineOperand::isSymbol(), llvm::TLSModel::LocalDynamic, llvm::TLSModel::LocalExec, llvm::AArch64II::MO_FRAGMENT, llvm::AArch64II::MO_G0, llvm::AArch64II::MO_G1, llvm::AArch64II::MO_G2, llvm::AArch64II::MO_G3, llvm::AArch64II::MO_GOT, llvm::AArch64II::MO_HI12, llvm::AArch64II::MO_NC, llvm::AArch64II::MO_PAGE, llvm::AArch64II::MO_PAGEOFF, llvm::AArch64II::MO_PREL, llvm::AArch64II::MO_TLS, llvm::AArch64::S_ABS, llvm::AArch64::S_DTPREL, llvm::AArch64::S_G0, llvm::AArch64::S_G1, llvm::AArch64::S_G2, llvm::AArch64::S_G3, llvm::AArch64::S_GOT, llvm::AArch64::S_GOT_AUTH, llvm::AArch64::S_GOTTPREL, llvm::AArch64::S_HI12, llvm::AArch64::S_NC, llvm::AArch64::S_PAGE, llvm::AArch64::S_PAGEOFF, llvm::AArch64::S_PREL, llvm::AArch64::S_TLSDESC, llvm::AArch64::S_TLSDESC_AUTH, and llvm::AArch64::S_TPREL.

Referenced by LowerSymbolOperand().

◆ lowerSymbolOperandMachO()


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