|
| virtual void | printImpl (raw_ostream &OS, const MCAsmInfo *MAI) const =0 |
| virtual bool | evaluateAsRelocatableImpl (MCValue &Res, const MCAssembler *Asm) 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 |
| | MCExpr (const MCExpr &)=delete |
| MCExpr & | operator= (const MCExpr &)=delete |
| ExprKind | getKind () const |
| SMLoc | getLoc () const |
| LLVM_ABI void | dump () const |
| LLVM_ABI bool | evaluateAsAbsolute (int64_t &Res) const |
| | Try to evaluate the expression to an absolute value.
|
| LLVM_ABI bool | evaluateAsAbsolute (int64_t &Res, const MCAssembler &Asm) const |
| LLVM_ABI bool | evaluateAsAbsolute (int64_t &Res, const MCAssembler *Asm) const |
| LLVM_ABI bool | evaluateKnownAbsolute (int64_t &Res, const MCAssembler &Asm) const |
| | Aggressive variant of evaluateAsRelocatable when relocations are unavailable (e.g.
|
| LLVM_ABI bool | evaluateAsRelocatable (MCValue &Res, const MCAssembler *Asm) const |
| | Try to evaluate the expression to a relocatable value, i.e.
|
| LLVM_ABI bool | evaluateAsValue (MCValue &Res, const MCAssembler &Asm) const |
| | Try to evaluate the expression to the form (a - b + constant) where neither a nor b are variables.
|
| LLVM_ABI 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.
|
Extension point for target-specific MCExpr subclasses to implement.
This can encode a relocation operator, serving as a replacement for MCSymbolRefExpr::VariantKind. Ideally, limit this to top-level use, avoiding its inclusion as a subexpression.
NOTE: All subclasses are required to have trivial destructors because MCExprs are bump pointer allocated and not destructed.
Definition at line 465 of file MCExpr.h.