class MCSymbolRefExpr
Declaration
class MCSymbolRefExpr : public MCExpr { /* full declaration omitted */ };
Description
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.
Declared at: llvm/include/llvm/MC/MCExpr.h:192
Inherits from: MCExpr
Member Variables
- private const llvm::MCSymbol* Symbol
- The symbol being referenced.
- private static const unsigned int VariantKindBits = 16
- private static const unsigned int VariantKindMask = (1 << VariantKindBits) - 1
- private static const unsigned int HasSubsectionsViaSymbolsBit = 1 << VariantKindBits
Method Overview
- private MCSymbolRefExpr(const llvm::MCSymbol * Symbol, llvm::MCSymbolRefExpr::VariantKind Kind, const llvm::MCAsmInfo * MAI, llvm::SMLoc Loc = llvm::SMLoc())
- public static bool classof(const llvm::MCExpr * E)
- public static const llvm::MCSymbolRefExpr * create(const llvm::MCSymbol * Symbol, llvm::MCContext & Ctx)
- public static const llvm::MCSymbolRefExpr * create(const llvm::MCSymbol * Symbol, llvm::MCSymbolRefExpr::VariantKind Kind, llvm::MCContext & Ctx, llvm::SMLoc Loc = llvm::SMLoc())
- public static const llvm::MCSymbolRefExpr * create(llvm::StringRef Name, llvm::MCSymbolRefExpr::VariantKind Kind, llvm::MCContext & Ctx)
- private static unsigned int encodeSubclassData(llvm::MCSymbolRefExpr::VariantKind Kind, bool HasSubsectionsViaSymbols)
- public llvm::MCSymbolRefExpr::VariantKind getKind() const
- public const llvm::MCSymbol & getSymbol() const
- public static llvm::MCSymbolRefExpr::VariantKind getVariantKindForName(llvm::StringRef Name)
- public static llvm::StringRef getVariantKindName(llvm::MCSymbolRefExpr::VariantKind Kind)
- public bool hasSubsectionsViaSymbols() const
Inherited from MCExpr:
- public dump
- public evaluateAsAbsolute
- public evaluateAsAbsolute
- public evaluateAsAbsolute
- public evaluateAsAbsolute
- public evaluateAsAbsolute
- public evaluateAsRelocatable
- protected evaluateAsRelocatableImpl
- public evaluateAsValue
- public evaluateKnownAbsolute
- public findAssociatedFragment
- public getKind
- public getLoc
- protected getSubclassData
- public print
Methods
¶MCSymbolRefExpr(
const llvm::MCSymbol* Symbol,
llvm::MCSymbolRefExpr::VariantKind Kind,
const llvm::MCAsmInfo* MAI,
llvm::SMLoc Loc = llvm::SMLoc())
MCSymbolRefExpr(
const llvm::MCSymbol* Symbol,
llvm::MCSymbolRefExpr::VariantKind Kind,
const llvm::MCAsmInfo* MAI,
llvm::SMLoc Loc = llvm::SMLoc())
Declared at: llvm/include/llvm/MC/MCExpr.h:379
Parameters
- const llvm::MCSymbol* Symbol
- llvm::MCSymbolRefExpr::VariantKind Kind
- const llvm::MCAsmInfo* MAI
- llvm::SMLoc Loc = llvm::SMLoc()
¶static bool classof(const llvm::MCExpr* E)
static bool classof(const llvm::MCExpr* E)
Description
@ }
Declared at: llvm/include/llvm/MC/MCExpr.h:419
Parameters
- const llvm::MCExpr* E
¶static const llvm::MCSymbolRefExpr* create(
const llvm::MCSymbol* Symbol,
llvm::MCContext& Ctx)
static const llvm::MCSymbolRefExpr* create(
const llvm::MCSymbol* Symbol,
llvm::MCContext& Ctx)
Description
@ {
Declared at: llvm/include/llvm/MC/MCExpr.h:386
Parameters
- const llvm::MCSymbol* Symbol
- llvm::MCContext& Ctx
¶static const llvm::MCSymbolRefExpr* create(
const llvm::MCSymbol* Symbol,
llvm::MCSymbolRefExpr::VariantKind Kind,
llvm::MCContext& Ctx,
llvm::SMLoc Loc = llvm::SMLoc())
static const llvm::MCSymbolRefExpr* create(
const llvm::MCSymbol* Symbol,
llvm::MCSymbolRefExpr::VariantKind Kind,
llvm::MCContext& Ctx,
llvm::SMLoc Loc = llvm::SMLoc())
Declared at: llvm/include/llvm/MC/MCExpr.h:390
Parameters
- const llvm::MCSymbol* Symbol
- llvm::MCSymbolRefExpr::VariantKind Kind
- llvm::MCContext& Ctx
- llvm::SMLoc Loc = llvm::SMLoc()
¶static const llvm::MCSymbolRefExpr* create(
llvm::StringRef Name,
llvm::MCSymbolRefExpr::VariantKind Kind,
llvm::MCContext& Ctx)
static const llvm::MCSymbolRefExpr* create(
llvm::StringRef Name,
llvm::MCSymbolRefExpr::VariantKind Kind,
llvm::MCContext& Ctx)
Declared at: llvm/include/llvm/MC/MCExpr.h:392
Parameters
- llvm::StringRef Name
- llvm::MCSymbolRefExpr::VariantKind Kind
- llvm::MCContext& Ctx
¶static unsigned int encodeSubclassData(
llvm::MCSymbolRefExpr::VariantKind Kind,
bool HasSubsectionsViaSymbols)
static unsigned int encodeSubclassData(
llvm::MCSymbolRefExpr::VariantKind Kind,
bool HasSubsectionsViaSymbols)
Declared at: llvm/include/llvm/MC/MCExpr.h:373
Parameters
- llvm::MCSymbolRefExpr::VariantKind Kind
- bool HasSubsectionsViaSymbols
¶llvm::MCSymbolRefExpr::VariantKind getKind() const
llvm::MCSymbolRefExpr::VariantKind getKind() const
Declared at: llvm/include/llvm/MC/MCExpr.h:401
¶const llvm::MCSymbol& getSymbol() const
const llvm::MCSymbol& getSymbol() const
Description
@ } @ {
Declared at: llvm/include/llvm/MC/MCExpr.h:399
¶static llvm::MCSymbolRefExpr::VariantKind
getVariantKindForName(llvm::StringRef Name)
static llvm::MCSymbolRefExpr::VariantKind
getVariantKindForName(llvm::StringRef Name)
Declared at: llvm/include/llvm/MC/MCExpr.h:415
Parameters
- llvm::StringRef Name
¶static llvm::StringRef getVariantKindName(
llvm::MCSymbolRefExpr::VariantKind Kind)
static llvm::StringRef getVariantKindName(
llvm::MCSymbolRefExpr::VariantKind Kind)
Description
@ } @ {
Declared at: llvm/include/llvm/MC/MCExpr.h:413
Parameters
- llvm::MCSymbolRefExpr::VariantKind Kind
¶bool hasSubsectionsViaSymbols() const
bool hasSubsectionsViaSymbols() const
Declared at: llvm/include/llvm/MC/MCExpr.h:405