|
virtual void | printImpl (raw_ostream &OS, const MCAsmInfo *MAI) const =0 |
|
virtual bool | evaluateAsRelocatableImpl (MCValue &Res, const MCAsmLayout *Layout, const MCFixup *Fixup) const =0 |
|
virtual bool | isEqualTo (const MCExpr *x) const |
|
virtual bool | inlineAssignedExpr () const |
|
virtual void | visitUsedExpr (MCStreamer &Streamer) const =0 |
|
virtual MCFragment * | findAssociatedFragment () const =0 |
|
virtual void | fixELFSymbolsInTLSFixups (MCAssembler &) const =0 |
|
| 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...
|
|
This is an extension point for target-specific MCExpr subclasses to implement.
NOTE: All subclasses are required to have trivial destructors because MCExprs are bump pointer allocated and not destructed.
Definition at line 581 of file MCExpr.h.