LLVM
8.0.1
|
#include "Target/ARM/MCTargetDesc/ARMMCExpr.h"
Public Types | |
enum | VariantKind { VK_ARM_None, VK_ARM_HI16, VK_ARM_LO16 } |
Public Types inherited from llvm::MCExpr | |
enum | ExprKind { Binary, Constant, SymbolRef, Unary, Target } |
Public Member Functions | |
void | printImpl (raw_ostream &OS, const MCAsmInfo *MAI) const override |
bool | evaluateAsRelocatableImpl (MCValue &Res, const MCAsmLayout *Layout, const MCFixup *Fixup) const override |
void | visitUsedExpr (MCStreamer &Streamer) const override |
MCFragment * | findAssociatedFragment () const override |
void | fixELFSymbolsInTLSFixups (MCAssembler &Asm) const override |
Accessors | |
VariantKind | getKind () const |
getOpcode - Get the kind of this expression. More... | |
const MCExpr * | getSubExpr () const |
getSubExpr - Get the child of this expression. More... | |
Public Member Functions inherited from llvm::MCTargetExpr | |
virtual bool | isEqualTo (const MCExpr *x) const |
virtual bool | inlineAssignedExpr () const |
Public Member Functions inherited from llvm::MCExpr | |
MCExpr (const MCExpr &)=delete | |
MCExpr & | operator= (const MCExpr &)=delete |
ExprKind | getKind () const |
SMLoc | getLoc () const |
void | print (raw_ostream &OS, const MCAsmInfo *MAI, bool InParens=false) const |
void | dump () const |
bool | evaluateAsAbsolute (int64_t &Res, const MCAsmLayout &Layout, const SectionAddrMap &Addrs) const |
Try to evaluate the expression to an absolute value. More... | |
bool | evaluateAsAbsolute (int64_t &Res) const |
bool | evaluateAsAbsolute (int64_t &Res, const MCAssembler &Asm) const |
bool | evaluateAsAbsolute (int64_t &Res, const MCAssembler *Asm) const |
bool | evaluateAsAbsolute (int64_t &Res, const MCAsmLayout &Layout) const |
bool | evaluateKnownAbsolute (int64_t &Res, const MCAsmLayout &Layout) const |
bool | evaluateAsRelocatable (MCValue &Res, const MCAsmLayout *Layout, const MCFixup *Fixup) const |
Try to evaluate the expression to a relocatable value, i.e. More... | |
bool | evaluateAsValue (MCValue &Res, const MCAsmLayout &Layout) const |
Try to evaluate the expression to the form (a - b + constant) where neither a nor b are variables. More... | |
MCFragment * | findAssociatedFragment () const |
Find the "associated section" for this expression, which is currently defined as the absolute section for constants, or otherwise the section associated with the first defined symbol in the expression. More... | |
Static Public Member Functions | |
static bool | classof (const MCExpr *E) |
Construction | |
static const ARMMCExpr * | create (VariantKind Kind, const MCExpr *Expr, MCContext &Ctx) |
static const ARMMCExpr * | createUpper16 (const MCExpr *Expr, MCContext &Ctx) |
static const ARMMCExpr * | createLower16 (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 ()=default |
Protected Member Functions inherited from llvm::MCExpr | |
MCExpr (ExprKind Kind, SMLoc Loc) | |
bool | evaluateAsRelocatableImpl (MCValue &Res, const MCAssembler *Asm, const MCAsmLayout *Layout, const MCFixup *Fixup, const SectionAddrMap *Addrs, bool InSet) const |
Definition at line 17 of file ARMMCExpr.h.
Enumerator | |
---|---|
VK_ARM_None | |
VK_ARM_HI16 | |
VK_ARM_LO16 |
Definition at line 19 of file ARMMCExpr.h.
Definition at line 73 of file ARMMCExpr.h.
References llvm::MCExpr::getKind(), and llvm::MCExpr::Target.
|
static |
Definition at line 18 of file ARMMCExpr.cpp.
Referenced by createLower16(), and createUpper16().
|
inlinestatic |
Definition at line 43 of file ARMMCExpr.h.
References create(), and VK_ARM_LO16.
Referenced by llvm::ARMAsmPrinter::EmitInstruction().
|
inlinestatic |
Definition at line 39 of file ARMMCExpr.h.
References create(), and VK_ARM_HI16.
Referenced by llvm::ARMAsmPrinter::EmitInstruction().
|
inlineoverridevirtual |
Implements llvm::MCTargetExpr.
Definition at line 60 of file ARMMCExpr.h.
References visitUsedExpr().
|
inlineoverridevirtual |
Implements llvm::MCTargetExpr.
Definition at line 66 of file ARMMCExpr.h.
References llvm::MCExpr::findAssociatedFragment(), and getSubExpr().
|
inlineoverridevirtual |
Implements llvm::MCTargetExpr.
Definition at line 71 of file ARMMCExpr.h.
|
inline |
getOpcode - Get the kind of this expression.
Definition at line 52 of file ARMMCExpr.h.
Referenced by HasConditionalBranch(), and instIsBreakpoint().
getSubExpr - Get the child of this expression.
Definition at line 55 of file ARMMCExpr.h.
References printImpl().
Referenced by findAssociatedFragment(), HasConditionalBranch(), printImpl(), and visitUsedExpr().
|
overridevirtual |
Implements llvm::MCTargetExpr.
Definition at line 23 of file ARMMCExpr.cpp.
References llvm::MCExpr::getKind(), getSubExpr(), llvm_unreachable, llvm::MCExpr::print(), llvm::MCExpr::SymbolRef, VK_ARM_HI16, and VK_ARM_LO16.
Referenced by getSubExpr().
|
overridevirtual |
Implements llvm::MCTargetExpr.
Definition at line 38 of file ARMMCExpr.cpp.
References getSubExpr(), and llvm::MCStreamer::visitUsedExpr().
Referenced by evaluateAsRelocatableImpl().