LLVM 19.0.0git
Functions
LoongArchMCInstLower.cpp File Reference
#include "LoongArch.h"
#include "LoongArchSubtarget.h"
#include "MCTargetDesc/LoongArchBaseInfo.h"
#include "MCTargetDesc/LoongArchMCExpr.h"
#include "llvm/CodeGen/AsmPrinter.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/MC/MCAsmInfo.h"
#include "llvm/MC/MCContext.h"
#include "llvm/Support/raw_ostream.h"

Go to the source code of this file.

Functions

static MCOperand lowerSymbolOperand (const MachineOperand &MO, MCSymbol *Sym, const AsmPrinter &AP)
 

Function Documentation

◆ lowerSymbolOperand()

static MCOperand lowerSymbolOperand ( const MachineOperand MO,
MCSymbol Sym,
const AsmPrinter AP 
)
static

Definition at line 27 of file LoongArchMCInstLower.cpp.

References llvm::LoongArchMCExpr::create(), llvm::MCSymbolRefExpr::create(), llvm::MCConstantExpr::create(), llvm::MCBinaryExpr::createAdd(), llvm::MCOperand::createExpr(), llvm::MachineOperand::getOffset(), llvm::MachineOperand::getTargetFlags(), llvm::MachineOperand::isJTI(), llvm::MachineOperand::isMBB(), llvm_unreachable, llvm::LoongArchII::MO_CALL, llvm::LoongArchII::MO_CALL36, llvm::LoongArchII::MO_CALL_PLT, llvm::LoongArchII::MO_GD_PC_HI, llvm::LoongArchII::MO_GOT_PC64_HI, llvm::LoongArchII::MO_GOT_PC64_LO, llvm::LoongArchII::MO_GOT_PC_HI, llvm::LoongArchII::MO_GOT_PC_LO, llvm::LoongArchII::MO_IE_PC64_HI, llvm::LoongArchII::MO_IE_PC64_LO, llvm::LoongArchII::MO_IE_PC_HI, llvm::LoongArchII::MO_IE_PC_LO, llvm::LoongArchII::MO_LD_PC_HI, llvm::LoongArchII::MO_LE64_HI, llvm::LoongArchII::MO_LE64_LO, llvm::LoongArchII::MO_LE_HI, llvm::LoongArchII::MO_LE_LO, llvm::LoongArchII::MO_None, llvm::LoongArchII::MO_PCREL64_HI, llvm::LoongArchII::MO_PCREL64_LO, llvm::LoongArchII::MO_PCREL_HI, llvm::LoongArchII::MO_PCREL_LO, llvm::AsmPrinter::OutContext, Sym, llvm::LoongArchMCExpr::VK_LoongArch_CALL, llvm::LoongArchMCExpr::VK_LoongArch_CALL36, llvm::LoongArchMCExpr::VK_LoongArch_CALL_PLT, llvm::LoongArchMCExpr::VK_LoongArch_GOT64_PC_HI12, llvm::LoongArchMCExpr::VK_LoongArch_GOT64_PC_LO20, llvm::LoongArchMCExpr::VK_LoongArch_GOT_PC_HI20, llvm::LoongArchMCExpr::VK_LoongArch_GOT_PC_LO12, llvm::LoongArchMCExpr::VK_LoongArch_None, llvm::LoongArchMCExpr::VK_LoongArch_PCALA64_HI12, llvm::LoongArchMCExpr::VK_LoongArch_PCALA64_LO20, llvm::LoongArchMCExpr::VK_LoongArch_PCALA_HI20, llvm::LoongArchMCExpr::VK_LoongArch_PCALA_LO12, llvm::LoongArchMCExpr::VK_LoongArch_TLS_GD_PC_HI20, llvm::LoongArchMCExpr::VK_LoongArch_TLS_IE64_PC_HI12, llvm::LoongArchMCExpr::VK_LoongArch_TLS_IE64_PC_LO20, llvm::LoongArchMCExpr::VK_LoongArch_TLS_IE_PC_HI20, llvm::LoongArchMCExpr::VK_LoongArch_TLS_IE_PC_LO12, llvm::LoongArchMCExpr::VK_LoongArch_TLS_LD_PC_HI20, llvm::LoongArchMCExpr::VK_LoongArch_TLS_LE64_HI12, llvm::LoongArchMCExpr::VK_LoongArch_TLS_LE64_LO20, llvm::LoongArchMCExpr::VK_LoongArch_TLS_LE_HI20, llvm::LoongArchMCExpr::VK_LoongArch_TLS_LE_LO12, and llvm::MCSymbolRefExpr::VK_None.

Referenced by llvm::lowerLoongArchMachineOperandToMCOperand().