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:169

Inherits from: MCExpr

Method Overview

  • 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)
  • 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
  • public void printVariantKind(llvm::raw_ostream & OS) const

Inherited from MCExpr:

Methods

static bool classof(const llvm::MCExpr* E)

Description

@ }

Declared at: llvm/include/llvm/MC/MCExpr.h:360

Parameters

const llvm::MCExpr* E

static const llvm::MCSymbolRefExpr* create(
    const llvm::MCSymbol* Symbol,
    llvm::MCContext& Ctx)

Description

@ {

Declared at: llvm/include/llvm/MC/MCExpr.h:329

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())

Declared at: llvm/include/llvm/MC/MCExpr.h:333

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)

Declared at: llvm/include/llvm/MC/MCExpr.h:335

Parameters

llvm::StringRef Name
llvm::MCSymbolRefExpr::VariantKind Kind
llvm::MCContext& Ctx

llvm::MCSymbolRefExpr::VariantKind getKind() const

Declared at: llvm/include/llvm/MC/MCExpr.h:344

const llvm::MCSymbol& getSymbol() const

Description

@ } @ {

Declared at: llvm/include/llvm/MC/MCExpr.h:342

static llvm::MCSymbolRefExpr::VariantKind
getVariantKindForName(llvm::StringRef Name)

Declared at: llvm/include/llvm/MC/MCExpr.h:356

Parameters

llvm::StringRef Name

static llvm::StringRef getVariantKindName(
    llvm::MCSymbolRefExpr::VariantKind Kind)

Description

@ } @ {

Declared at: llvm/include/llvm/MC/MCExpr.h:354

Parameters

llvm::MCSymbolRefExpr::VariantKind Kind

bool hasSubsectionsViaSymbols() const

Declared at: llvm/include/llvm/MC/MCExpr.h:348

void printVariantKind(llvm::raw_ostream& OS) const

Declared at: llvm/include/llvm/MC/MCExpr.h:346

Parameters

llvm::raw_ostream& OS