LLVM API Documentation

Public Types | Static Public Member Functions
llvm::MCSymbolRefExpr Class Reference

#include <MCExpr.h>

Inheritance diagram for llvm::MCSymbolRefExpr:
Inheritance graph
[legend]
Collaboration diagram for llvm::MCSymbolRefExpr:
Collaboration graph
[legend]

List of all members.

Public Types

enum  VariantKind {
  VK_None, VK_Invalid, VK_GOT, VK_GOTOFF,
  VK_GOTPCREL, VK_GOTTPOFF, VK_INDNTPOFF, VK_NTPOFF,
  VK_GOTNTPOFF, VK_PLT, VK_TLSGD, VK_TLSLD,
  VK_TLSLDM, VK_TPOFF, VK_DTPOFF, VK_TLVP,
  VK_SECREL, VK_ARM_NONE, VK_ARM_PLT, VK_ARM_TLSGD,
  VK_ARM_GOT, VK_ARM_GOTOFF, VK_ARM_TPOFF, VK_ARM_GOTTPOFF,
  VK_ARM_TARGET1, VK_ARM_TARGET2, VK_ARM_PREL31, VK_PPC_TOC,
  VK_PPC_TOC_ENTRY, VK_PPC_DARWIN_HA16, VK_PPC_DARWIN_LO16, VK_PPC_GAS_HA16,
  VK_PPC_GAS_LO16, VK_PPC_TPREL16_HA, VK_PPC_TPREL16_LO, VK_PPC_DTPREL16_HA,
  VK_PPC_DTPREL16_LO, VK_PPC_TOC16_HA, VK_PPC_TOC16_LO, VK_PPC_GOT_TPREL16_HA,
  VK_PPC_GOT_TPREL16_LO, VK_PPC_TLS, VK_PPC_GOT_TLSGD16_HA, VK_PPC_GOT_TLSGD16_LO,
  VK_PPC_TLSGD, VK_PPC_GOT_TLSLD16_HA, VK_PPC_GOT_TLSLD16_LO, VK_PPC_TLSLD,
  VK_Mips_GPREL, VK_Mips_GOT_CALL, VK_Mips_GOT16, VK_Mips_GOT,
  VK_Mips_ABS_HI, VK_Mips_ABS_LO, VK_Mips_TLSGD, VK_Mips_TLSLDM,
  VK_Mips_DTPREL_HI, VK_Mips_DTPREL_LO, VK_Mips_GOTTPREL, VK_Mips_TPREL_HI,
  VK_Mips_TPREL_LO, VK_Mips_GPOFF_HI, VK_Mips_GPOFF_LO, VK_Mips_GOT_DISP,
  VK_Mips_GOT_PAGE, VK_Mips_GOT_OFST, VK_Mips_HIGHER, VK_Mips_HIGHEST,
  VK_Mips_GOT_HI16, VK_Mips_GOT_LO16, VK_Mips_CALL_HI16, VK_Mips_CALL_LO16,
  VK_COFF_IMGREL32
}

Public Member Functions

Accessors
const MCSymbolgetSymbol () const
VariantKind getKind () const

Static Public Member Functions

static bool classof (const MCExpr *E)
Construction
static const MCSymbolRefExprCreate (const MCSymbol *Symbol, MCContext &Ctx)
static const MCSymbolRefExprCreate (const MCSymbol *Symbol, VariantKind Kind, MCContext &Ctx)
static const MCSymbolRefExprCreate (StringRef Name, VariantKind Kind, MCContext &Ctx)
Static Utility Functions
static StringRef getVariantKindName (VariantKind Kind)
static VariantKind getVariantKindForName (StringRef Name)

Detailed Description

MCSymbolRefExpr - Represent a reference to a symbol from inside an expression.

A symbol reference in an expression may be a use of a label, a use of an assembler variable (defined constant), or constitute an implicit definition of the symbol as external.

Definition at line 141 of file MCExpr.h.


Member Enumeration Documentation

Enumerator:
VK_None 
VK_Invalid 
VK_GOT 
VK_GOTOFF 
VK_GOTPCREL 
VK_GOTTPOFF 
VK_INDNTPOFF 
VK_NTPOFF 
VK_GOTNTPOFF 
VK_PLT 
VK_TLSGD 
VK_TLSLD 
VK_TLSLDM 
VK_TPOFF 
VK_DTPOFF 
VK_TLVP 
VK_SECREL 
VK_ARM_NONE 
VK_ARM_PLT 
VK_ARM_TLSGD 
VK_ARM_GOT 
VK_ARM_GOTOFF 
VK_ARM_TPOFF 
VK_ARM_GOTTPOFF 
VK_ARM_TARGET1 
VK_ARM_TARGET2 
VK_ARM_PREL31 
VK_PPC_TOC 
VK_PPC_TOC_ENTRY 
VK_PPC_DARWIN_HA16 
VK_PPC_DARWIN_LO16 
VK_PPC_GAS_HA16 
VK_PPC_GAS_LO16 
VK_PPC_TPREL16_HA 
VK_PPC_TPREL16_LO 
VK_PPC_DTPREL16_HA 
VK_PPC_DTPREL16_LO 
VK_PPC_TOC16_HA 
VK_PPC_TOC16_LO 
VK_PPC_GOT_TPREL16_HA 
VK_PPC_GOT_TPREL16_LO 
VK_PPC_TLS 
VK_PPC_GOT_TLSGD16_HA 
VK_PPC_GOT_TLSGD16_LO 
VK_PPC_TLSGD 
VK_PPC_GOT_TLSLD16_HA 
VK_PPC_GOT_TLSLD16_LO 
VK_PPC_TLSLD 
VK_Mips_GPREL 
VK_Mips_GOT_CALL 
VK_Mips_GOT16 
VK_Mips_GOT 
VK_Mips_ABS_HI 
VK_Mips_ABS_LO 
VK_Mips_TLSGD 
VK_Mips_TLSLDM 
VK_Mips_DTPREL_HI 
VK_Mips_DTPREL_LO 
VK_Mips_GOTTPREL 
VK_Mips_TPREL_HI 
VK_Mips_TPREL_LO 
VK_Mips_GPOFF_HI 
VK_Mips_GPOFF_LO 
VK_Mips_GOT_DISP 
VK_Mips_GOT_PAGE 
VK_Mips_GOT_OFST 
VK_Mips_HIGHER 
VK_Mips_HIGHEST 
VK_Mips_GOT_HI16 
VK_Mips_GOT_LO16 
VK_Mips_CALL_HI16 
VK_Mips_CALL_LO16 
VK_COFF_IMGREL32 

Definition at line 143 of file MCExpr.h.


Member Function Documentation

static bool llvm::MCSymbolRefExpr::classof ( const MCExpr E) [inline, static]

Definition at line 267 of file MCExpr.h.

References llvm::MCExpr::getKind(), and llvm::MCExpr::SymbolRef.

static const MCSymbolRefExpr* llvm::MCSymbolRefExpr::Create ( const MCSymbol Symbol,
MCContext Ctx 
) [inline, static]

Definition at line 240 of file MCExpr.h.

References VK_None.

Referenced by llvm::MCStreamer::BuildSymbolDiff(), llvm::AsmPrinter::doFinalization(), llvm::EmitAbsDifference(), llvm::X86AsmPrinter::EmitEndOfAsmFile(), llvm::ARMAsmPrinter::EmitEndOfAsmFile(), llvm::AsmPrinter::EmitFunctionBody(), EmitGenDwarfAranges(), EmitGenDwarfInfo(), llvm::X86AsmPrinter::EmitInstruction(), llvm::ARMAsmPrinter::EmitInstruction(), llvm::ARMAsmPrinter::EmitJump2Table(), llvm::ARMAsmPrinter::EmitJumpTable(), llvm::AsmPrinter::EmitJumpTableInfo(), llvm::AsmPrinter::EmitLabelDifference(), llvm::AsmPrinter::EmitLabelOffsetDifference(), llvm::AsmPrinter::EmitLabelPlusOffset(), llvm::SystemZAsmPrinter::EmitMachineConstantPoolValue(), llvm::ARMAsmPrinter::EmitMachineConstantPoolValue(), llvm::EmitRuntimeFunction(), llvm::MCStreamer::EmitSymbolValue(), llvm::EmitUnwindInfo(), llvm::MCObjectStreamer::EmitValueToOffset(), llvm::MCELFStreamer::EmitWeakReference(), llvm::ARMAsmPrinter::EmitXXStructor(), llvm::Win64Exception::EndFunction(), llvm::MCStreamer::ForceExpAbs(), llvm::MCAsmInfo::getExprForFDESymbol(), llvm::X86_64MCAsmInfoDarwin::getExprForPersonalitySymbol(), llvm::X86TargetLowering::getPICJumpTableRelocBaseExpr(), llvm::TargetLowering::getPICJumpTableRelocBaseExpr(), GetSymbolRef(), llvm::X86_64MachoTargetObjectFile::getTTypeGlobalReference(), llvm::ARMElfTargetObjectFile::getTTypeGlobalReference(), llvm::TargetLoweringObjectFileELF::getTTypeGlobalReference(), llvm::TargetLoweringObjectFileMachO::getTTypeGlobalReference(), llvm::TargetLoweringObjectFile::getTTypeGlobalReference(), llvm::TargetLoweringObjectFile::getTTypeReference(), llvm::HexagonLowerToMC(), llvm::AMDGPUMCInstLower::lower(), llvm::MBlazeMCInstLower::Lower(), llvm::MSP430MCInstLower::Lower(), nvptx::LowerConstant(), lowerConstant(), llvm::X86TargetLowering::LowerCustomJumpTableEntry(), llvm::AArch64AsmPrinter::lowerOperand(), llvm::ARMAsmPrinter::lowerOperand(), llvm::LowerPPCMachineInstrToMCInst(), llvm::MBlazeMCInstLower::LowerSymbolOperand(), llvm::MSP430MCInstLower::LowerSymbolOperand(), llvm::SystemZMCInstLower::lowerSymbolOperand(), llvm::AArch64AsmPrinter::lowerSymbolOperand(), MakeStartMinusEndExpr(), and tryAddingSymbolicOperand().

const MCSymbolRefExpr * MCSymbolRefExpr::Create ( const MCSymbol Symbol,
VariantKind  Kind,
MCContext Ctx 
) [static]

Definition at line 167 of file MCExpr.cpp.

const MCSymbolRefExpr * MCSymbolRefExpr::Create ( StringRef  Name,
VariantKind  Kind,
MCContext Ctx 
) [static]

Definition at line 173 of file MCExpr.cpp.

VariantKind llvm::MCSymbolRefExpr::getKind ( ) const [inline]
const MCSymbol& llvm::MCSymbolRefExpr::getSymbol ( ) const [inline]
MCSymbolRefExpr::VariantKind MCSymbolRefExpr::getVariantKindForName ( StringRef  Name) [static]

Definition at line 259 of file MCExpr.cpp.

StringRef MCSymbolRefExpr::getVariantKindName ( VariantKind  Kind) [static]

Definition at line 178 of file MCExpr.cpp.

Referenced by llvm::MCExpr::print().


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