LLVM API Documentation
#include <MCExpr.h>
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.
static bool llvm::MCSymbolRefExpr::classof | ( | const MCExpr * | E | ) | [inline, static] |
static const MCSymbolRefExpr* llvm::MCSymbolRefExpr::Create | ( | const MCSymbol * | Symbol, |
MCContext & | Ctx | ||
) | [inline, static] |
Definition at line 305 of file MCExpr.h.
References VK_None.
Referenced by llvm::ConstantPool::addEntry(), llvm::DwarfCFIException::beginFunction(), buildSymbolDiff(), createPCXRelExprOp(), createSparcMCOperand(), llvm::AsmPrinter::doFinalization(), llvm::AddressPool::emit(), llvm::EmitAbsDifference(), llvm::MCWinCOFFStreamer::EmitCOFFSecRel32(), llvm::MCWinCOFFStreamer::EmitCOFFSectionIndex(), llvm::MipsTargetELFStreamer::emitDirectiveCpload(), llvm::MipsTargetELFStreamer::emitDirectiveCpsetup(), llvm::MipsTargetELFStreamer::emitDirectiveEnd(), llvm::AsmPrinter::EmitFunctionBody(), EmitGenDwarfAranges(), EmitGenDwarfInfo(), EmitGenDwarfRanges(), llvm::ARMAsmPrinter::EmitInstruction(), llvm::X86AsmPrinter::EmitInstruction(), llvm::ARMAsmPrinter::EmitJump2Table(), llvm::ARMAsmPrinter::EmitJumpTable(), llvm::AsmPrinter::EmitJumpTableInfo(), llvm::EmitLabelDiff(), llvm::AsmPrinter::EmitLabelDifference(), llvm::AsmPrinter::EmitLabelOffsetDifference(), llvm::AsmPrinter::EmitLabelPlusOffset(), llvm::SystemZAsmPrinter::EmitMachineConstantPoolValue(), llvm::ARMAsmPrinter::EmitMachineConstantPoolValue(), emitNonLazySymbolPointer(), llvm::EmitRuntimeFunction(), llvm::EmitSymbolRefWithOfs(), llvm::MCStreamer::EmitSymbolValue(), llvm::EmitUnwindInfo(), llvm::MCObjectStreamer::EmitValueToOffset(), llvm::MCELFStreamer::EmitWeakReference(), llvm::ARMAsmPrinter::EmitXXStructor(), forceExpAbs(), llvm::ARMElfTargetObjectFile::getDebugThreadLocalSymbol(), llvm::TargetLoweringObjectFile::getDebugThreadLocalSymbol(), llvm::SystemZMCInstLower::getExpr(), llvm::SparcELFMCAsmInfo::getExprForFDESymbol(), llvm::MCAsmInfo::getExprForFDESymbol(), llvm::AArch64MCAsmInfoDarwin::getExprForPersonalitySymbol(), llvm::SparcELFMCAsmInfo::getExprForPersonalitySymbol(), llvm::X86_64MCAsmInfoDarwin::getExprForPersonalitySymbol(), llvm::TargetLowering::getPICJumpTableRelocBaseExpr(), GetSymbolRef(), llvm::X86_64MachoTargetObjectFile::getTTypeGlobalReference(), llvm::SparcELFTargetObjectFile::getTTypeGlobalReference(), llvm::AArch64_MachoTargetObjectFile::getTTypeGlobalReference(), llvm::ARMElfTargetObjectFile::getTTypeGlobalReference(), llvm::TargetLoweringObjectFileELF::getTTypeGlobalReference(), llvm::TargetLoweringObjectFileMachO::getTTypeGlobalReference(), llvm::TargetLoweringObjectFile::getTTypeGlobalReference(), llvm::TargetLoweringObjectFile::getTTypeReference(), llvm::HexagonLowerToMC(), llvm::MSP430MCInstLower::Lower(), llvm::AMDGPUMCInstLower::lower(), nvptx::LowerConstant(), lowerConstant(), llvm::AArch64MCInstLower::lowerOperand(), llvm::ARMAsmPrinter::lowerOperand(), llvm::LowerPPCMachineInstrToMCInst(), LowerSymbolOperand(), llvm::MSP430MCInstLower::LowerSymbolOperand(), llvm::AArch64MCInstLower::lowerSymbolOperandDarwin(), llvm::AArch64MCInstLower::lowerSymbolOperandELF(), MakeStartMinusEndExpr(), llvm::AArch64ExternalSymbolizer::tryAddingSymbolicOperand(), and llvm::MCExternalSymbolizer::tryAddingSymbolicOperand().
const MCSymbolRefExpr * MCSymbolRefExpr::Create | ( | const MCSymbol * | Symbol, |
VariantKind | Kind, | ||
MCContext & | Ctx | ||
) | [static] |
Definition at line 153 of file MCExpr.cpp.
const MCSymbolRefExpr * MCSymbolRefExpr::Create | ( | StringRef | Name, |
VariantKind | Kind, | ||
MCContext & | Ctx | ||
) | [static] |
Definition at line 159 of file MCExpr.cpp.
VariantKind llvm::MCSymbolRefExpr::getKind | ( | ) | const [inline] |
Reimplemented from llvm::MCExpr.
Definition at line 319 of file MCExpr.h.
Referenced by llvm::MCExpr::EvaluateAsRelocatableImpl(), llvm::PPCMCExpr::EvaluateAsRelocatableImpl(), llvm::MCValue::getAccessVariant(), getRelocType(), getWeakRef(), HasSecRelSymbolRef(), llvm::MCObjectWriter::IsSymbolRefDifferenceFullyResolved(), llvm::MCAssembler::isThumbFunc(), llvm::MCExpr::print(), printExpr(), and llvm::PPCInstPrinter::printTLSCall().
const MCAsmInfo& llvm::MCSymbolRefExpr::getMCAsmInfo | ( | ) | const [inline] |
Definition at line 317 of file MCExpr.h.
Referenced by llvm::MCExpr::EvaluateAsRelocatableImpl(), and llvm::MCExpr::print().
const MCSymbol& llvm::MCSymbolRefExpr::getSymbol | ( | ) | const [inline] |
Definition at line 316 of file MCExpr.h.
Referenced by llvm::MCSymbol::AliasedSymbol(), llvm::MCExpr::EvaluateAsRelocatableImpl(), llvm::PPCMCExpr::EvaluateAsRelocatableImpl(), llvm::MCExpr::FindAssociatedSection(), fixELFSymbolsInTLSFixupsImpl(), llvm::MCAsmLayout::getBaseSymbol(), llvm::MachObjectWriter::getSymbolAddress(), getSymbolOffsetImpl(), getWeakRef(), hasGOTReference(), llvm::MCObjectWriter::IsSymbolRefDifferenceFullyResolved(), llvm::MCAssembler::isThumbFunc(), llvm::MCExpr::print(), printExpr(), llvm::PPCInstPrinter::printTLSCall(), and StartsWithGlobalOffsetTable().
MCSymbolRefExpr::VariantKind MCSymbolRefExpr::getVariantKindForName | ( | StringRef | Name | ) | [static] |
Definition at line 282 of file MCExpr.cpp.
StringRef MCSymbolRefExpr::getVariantKindName | ( | VariantKind | Kind | ) | [static] |
Definition at line 164 of file MCExpr.cpp.
Referenced by llvm::MCExpr::print(), and llvm::PPCInstPrinter::printTLSCall().