LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Static Public Member Functions | List of all members
llvm::AArch64MCExpr Class Reference

#include <AArch64MCExpr.h>

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

Public Types

enum  VariantKind {
  VK_AARCH64_None, VK_AARCH64_GOT, VK_AARCH64_GOT_LO12, VK_AARCH64_LO12,
  VK_AARCH64_ABS_G0, VK_AARCH64_ABS_G0_NC, VK_AARCH64_ABS_G1, VK_AARCH64_ABS_G1_NC,
  VK_AARCH64_ABS_G2, VK_AARCH64_ABS_G2_NC, VK_AARCH64_ABS_G3, VK_AARCH64_SABS_G0,
  VK_AARCH64_SABS_G1, VK_AARCH64_SABS_G2, VK_AARCH64_DTPREL_G2, VK_AARCH64_DTPREL_G1,
  VK_AARCH64_DTPREL_G1_NC, VK_AARCH64_DTPREL_G0, VK_AARCH64_DTPREL_G0_NC, VK_AARCH64_DTPREL_HI12,
  VK_AARCH64_DTPREL_LO12, VK_AARCH64_DTPREL_LO12_NC, VK_AARCH64_GOTTPREL_G1, VK_AARCH64_GOTTPREL_G0_NC,
  VK_AARCH64_GOTTPREL, VK_AARCH64_GOTTPREL_LO12, VK_AARCH64_TPREL_G2, VK_AARCH64_TPREL_G1,
  VK_AARCH64_TPREL_G1_NC, VK_AARCH64_TPREL_G0, VK_AARCH64_TPREL_G0_NC, VK_AARCH64_TPREL_HI12,
  VK_AARCH64_TPREL_LO12, VK_AARCH64_TPREL_LO12_NC, VK_AARCH64_TLSDESC, VK_AARCH64_TLSDESC_LO12
}
 
- Public Types inherited from llvm::MCExpr
enum  ExprKind {
  Binary, Constant, SymbolRef, Unary,
  Target
}
 

Public Member Functions

void PrintImpl (raw_ostream &OS) const
 
bool EvaluateAsRelocatableImpl (MCValue &Res, const MCAsmLayout *Layout) const
 
void AddValueSymbols (MCAssembler *) const
 
const MCSectionFindAssociatedSection () const
 
void fixELFSymbolsInTLSFixups (MCAssembler &Asm) const
 
Accessors
VariantKind getKind () const
 getOpcode - Get the kind of this expression. More...
 
const MCExprgetSubExpr () const
 getSubExpr - Get the child of this expression. More...
 
- Public Member Functions inherited from llvm::MCExpr
ExprKind getKind () const
 
void print (raw_ostream &OS) const
 
void dump () const
 
bool EvaluateAsAbsolute (int64_t &Res, const MCAsmLayout &Layout, const SectionAddrMap &Addrs) const
 
bool EvaluateAsAbsolute (int64_t &Res) const
 
bool EvaluateAsAbsolute (int64_t &Res, const MCAssembler &Asm) const
 
bool EvaluateAsAbsolute (int64_t &Res, const MCAsmLayout &Layout) const
 
bool EvaluateAsRelocatable (MCValue &Res, const MCAsmLayout &Layout) const
 
const MCSectionFindAssociatedSection () const
 

Static Public Member Functions

static bool classof (const MCExpr *E)
 
static bool classof (const AArch64MCExpr *)
 
Construction
static const AArch64MCExprCreate (VariantKind Kind, const MCExpr *Expr, MCContext &Ctx)
 
static const AArch64MCExprCreateLo12 (const MCExpr *Expr, MCContext &Ctx)
 
static const AArch64MCExprCreateGOT (const MCExpr *Expr, MCContext &Ctx)
 
static const AArch64MCExprCreateGOTLo12 (const MCExpr *Expr, MCContext &Ctx)
 
static const AArch64MCExprCreateDTPREL_G1 (const MCExpr *Expr, MCContext &Ctx)
 
static const AArch64MCExprCreateDTPREL_G0_NC (const MCExpr *Expr, MCContext &Ctx)
 
static const AArch64MCExprCreateGOTTPREL (const MCExpr *Expr, MCContext &Ctx)
 
static const AArch64MCExprCreateGOTTPRELLo12 (const MCExpr *Expr, MCContext &Ctx)
 
static const AArch64MCExprCreateTLSDesc (const MCExpr *Expr, MCContext &Ctx)
 
static const AArch64MCExprCreateTLSDescLo12 (const MCExpr *Expr, MCContext &Ctx)
 
static const AArch64MCExprCreateTPREL_G1 (const MCExpr *Expr, MCContext &Ctx)
 
static const AArch64MCExprCreateTPREL_G0_NC (const MCExpr *Expr, MCContext &Ctx)
 
static const AArch64MCExprCreateABS_G3 (const MCExpr *Expr, MCContext &Ctx)
 
static const AArch64MCExprCreateABS_G2_NC (const MCExpr *Expr, MCContext &Ctx)
 
static const AArch64MCExprCreateABS_G1_NC (const MCExpr *Expr, MCContext &Ctx)
 
static const AArch64MCExprCreateABS_G0_NC (const MCExpr *Expr, MCContext &Ctx)
 
- Static Public Member Functions inherited from llvm::MCTargetExpr
static bool classof (const MCExpr *E)
 

Additional Inherited Members

- Protected Member Functions inherited from llvm::MCTargetExpr
 MCTargetExpr ()
 
virtual ~MCTargetExpr ()
 
- Protected Member Functions inherited from llvm::MCExpr
 MCExpr (ExprKind _Kind)
 
bool EvaluateAsRelocatableImpl (MCValue &Res, const MCAssembler *Asm, const MCAsmLayout *Layout, const SectionAddrMap *Addrs, bool InSet) const
 

Detailed Description

Definition at line 22 of file AArch64MCExpr.h.

Member Enumeration Documentation

Enumerator
VK_AARCH64_None 
VK_AARCH64_GOT 
VK_AARCH64_GOT_LO12 
VK_AARCH64_LO12 
VK_AARCH64_ABS_G0 
VK_AARCH64_ABS_G0_NC 
VK_AARCH64_ABS_G1 
VK_AARCH64_ABS_G1_NC 
VK_AARCH64_ABS_G2 
VK_AARCH64_ABS_G2_NC 
VK_AARCH64_ABS_G3 
VK_AARCH64_SABS_G0 
VK_AARCH64_SABS_G1 
VK_AARCH64_SABS_G2 
VK_AARCH64_DTPREL_G2 
VK_AARCH64_DTPREL_G1 
VK_AARCH64_DTPREL_G1_NC 
VK_AARCH64_DTPREL_G0 
VK_AARCH64_DTPREL_G0_NC 
VK_AARCH64_DTPREL_HI12 
VK_AARCH64_DTPREL_LO12 
VK_AARCH64_DTPREL_LO12_NC 
VK_AARCH64_GOTTPREL_G1 
VK_AARCH64_GOTTPREL_G0_NC 
VK_AARCH64_GOTTPREL 
VK_AARCH64_GOTTPREL_LO12 
VK_AARCH64_TPREL_G2 
VK_AARCH64_TPREL_G1 
VK_AARCH64_TPREL_G1_NC 
VK_AARCH64_TPREL_G0 
VK_AARCH64_TPREL_G0_NC 
VK_AARCH64_TPREL_HI12 
VK_AARCH64_TPREL_LO12 
VK_AARCH64_TPREL_LO12_NC 
VK_AARCH64_TLSDESC 
VK_AARCH64_TLSDESC_LO12 

Definition at line 24 of file AArch64MCExpr.h.

Member Function Documentation

void AArch64MCExpr::AddValueSymbols ( MCAssembler Asm) const
virtual

Implements llvm::MCTargetExpr.

Definition at line 176 of file AArch64MCExpr.cpp.

References AddValueSymbolsImpl(), and getSubExpr().

static bool llvm::AArch64MCExpr::classof ( const MCExpr E)
inlinestatic

Definition at line 178 of file AArch64MCExpr.h.

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

static bool llvm::AArch64MCExpr::classof ( const AArch64MCExpr )
inlinestatic

Definition at line 182 of file AArch64MCExpr.h.

const AArch64MCExpr * AArch64MCExpr::Create ( VariantKind  Kind,
const MCExpr Expr,
MCContext Ctx 
)
static
static const AArch64MCExpr* llvm::AArch64MCExpr::CreateABS_G0_NC ( const MCExpr Expr,
MCContext Ctx 
)
inlinestatic

Definition at line 151 of file AArch64MCExpr.h.

References Create(), and VK_AARCH64_ABS_G0_NC.

Referenced by llvm::AArch64AsmPrinter::lowerSymbolOperand().

static const AArch64MCExpr* llvm::AArch64MCExpr::CreateABS_G1_NC ( const MCExpr Expr,
MCContext Ctx 
)
inlinestatic

Definition at line 146 of file AArch64MCExpr.h.

References Create(), and VK_AARCH64_ABS_G1_NC.

Referenced by llvm::AArch64AsmPrinter::lowerSymbolOperand().

static const AArch64MCExpr* llvm::AArch64MCExpr::CreateABS_G2_NC ( const MCExpr Expr,
MCContext Ctx 
)
inlinestatic

Definition at line 141 of file AArch64MCExpr.h.

References Create(), and VK_AARCH64_ABS_G2_NC.

Referenced by llvm::AArch64AsmPrinter::lowerSymbolOperand().

static const AArch64MCExpr* llvm::AArch64MCExpr::CreateABS_G3 ( const MCExpr Expr,
MCContext Ctx 
)
inlinestatic

Definition at line 136 of file AArch64MCExpr.h.

References Create(), and VK_AARCH64_ABS_G3.

Referenced by llvm::AArch64AsmPrinter::lowerSymbolOperand().

static const AArch64MCExpr* llvm::AArch64MCExpr::CreateDTPREL_G0_NC ( const MCExpr Expr,
MCContext Ctx 
)
inlinestatic

Definition at line 101 of file AArch64MCExpr.h.

References Create(), and VK_AARCH64_DTPREL_G0_NC.

Referenced by llvm::AArch64AsmPrinter::lowerSymbolOperand().

static const AArch64MCExpr* llvm::AArch64MCExpr::CreateDTPREL_G1 ( const MCExpr Expr,
MCContext Ctx 
)
inlinestatic

Definition at line 96 of file AArch64MCExpr.h.

References Create(), and VK_AARCH64_DTPREL_G1.

Referenced by llvm::AArch64AsmPrinter::lowerSymbolOperand().

static const AArch64MCExpr* llvm::AArch64MCExpr::CreateGOT ( const MCExpr Expr,
MCContext Ctx 
)
inlinestatic

Definition at line 87 of file AArch64MCExpr.h.

References Create(), and VK_AARCH64_GOT.

Referenced by llvm::AArch64AsmPrinter::lowerSymbolOperand().

static const AArch64MCExpr* llvm::AArch64MCExpr::CreateGOTLo12 ( const MCExpr Expr,
MCContext Ctx 
)
inlinestatic

Definition at line 91 of file AArch64MCExpr.h.

References Create(), and VK_AARCH64_GOT_LO12.

Referenced by llvm::AArch64AsmPrinter::lowerSymbolOperand().

static const AArch64MCExpr* llvm::AArch64MCExpr::CreateGOTTPREL ( const MCExpr Expr,
MCContext Ctx 
)
inlinestatic

Definition at line 106 of file AArch64MCExpr.h.

References Create(), and VK_AARCH64_GOTTPREL.

Referenced by llvm::AArch64AsmPrinter::lowerSymbolOperand().

static const AArch64MCExpr* llvm::AArch64MCExpr::CreateGOTTPRELLo12 ( const MCExpr Expr,
MCContext Ctx 
)
inlinestatic

Definition at line 111 of file AArch64MCExpr.h.

References Create(), and VK_AARCH64_GOTTPREL_LO12.

Referenced by llvm::AArch64AsmPrinter::lowerSymbolOperand().

static const AArch64MCExpr* llvm::AArch64MCExpr::CreateLo12 ( const MCExpr Expr,
MCContext Ctx 
)
inlinestatic

Definition at line 83 of file AArch64MCExpr.h.

References Create(), and VK_AARCH64_LO12.

Referenced by llvm::AArch64AsmPrinter::lowerSymbolOperand().

static const AArch64MCExpr* llvm::AArch64MCExpr::CreateTLSDesc ( const MCExpr Expr,
MCContext Ctx 
)
inlinestatic

Definition at line 116 of file AArch64MCExpr.h.

References Create(), and VK_AARCH64_TLSDESC.

Referenced by llvm::AArch64AsmPrinter::lowerSymbolOperand().

static const AArch64MCExpr* llvm::AArch64MCExpr::CreateTLSDescLo12 ( const MCExpr Expr,
MCContext Ctx 
)
inlinestatic

Definition at line 121 of file AArch64MCExpr.h.

References Create(), and VK_AARCH64_TLSDESC_LO12.

Referenced by llvm::AArch64AsmPrinter::lowerSymbolOperand().

static const AArch64MCExpr* llvm::AArch64MCExpr::CreateTPREL_G0_NC ( const MCExpr Expr,
MCContext Ctx 
)
inlinestatic

Definition at line 131 of file AArch64MCExpr.h.

References Create(), and VK_AARCH64_TPREL_G0_NC.

Referenced by llvm::AArch64AsmPrinter::lowerSymbolOperand().

static const AArch64MCExpr* llvm::AArch64MCExpr::CreateTPREL_G1 ( const MCExpr Expr,
MCContext Ctx 
)
inlinestatic

Definition at line 126 of file AArch64MCExpr.h.

References Create(), and VK_AARCH64_TPREL_G1.

Referenced by llvm::AArch64AsmPrinter::lowerSymbolOperand().

bool AArch64MCExpr::EvaluateAsRelocatableImpl ( MCValue Res,
const MCAsmLayout Layout 
) const
virtual

Implements llvm::MCTargetExpr.

Definition at line 80 of file AArch64MCExpr.cpp.

References llvm::MCExpr::EvaluateAsRelocatable(), and getSubExpr().

const MCSection* llvm::AArch64MCExpr::FindAssociatedSection ( ) const
inlinevirtual

Implements llvm::MCTargetExpr.

Definition at line 172 of file AArch64MCExpr.h.

References llvm::MCExpr::FindAssociatedSection(), and getSubExpr().

void AArch64MCExpr::fixELFSymbolsInTLSFixups ( MCAssembler Asm) const
virtual
VariantKind llvm::AArch64MCExpr::getKind ( ) const
inline

getOpcode - Get the kind of this expression.

Definition at line 161 of file AArch64MCExpr.h.

Referenced by fixELFSymbolsInTLSFixups().

const MCExpr* llvm::AArch64MCExpr::getSubExpr ( ) const
inline

getSubExpr - Get the child of this expression.

Definition at line 164 of file AArch64MCExpr.h.

Referenced by AddValueSymbols(), EvaluateAsRelocatableImpl(), FindAssociatedSection(), fixELFSymbolsInTLSFixups(), and PrintImpl().

void AArch64MCExpr::PrintImpl ( raw_ostream OS) const
virtual

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