LLVM 22.0.0git
|
Unary assembler expressions. More...
#include "llvm/MC/MCExpr.h"
Public Types | |
enum | Opcode { LNot , Minus , Not , Plus } |
Public Types inherited from llvm::MCExpr | |
enum | ExprKind : uint8_t { Binary , Constant , SymbolRef , Unary , Specifier , Target } |
Public Member Functions | |
Accessors | |
Opcode | getOpcode () const |
Get the kind of this unary expression. | |
const MCExpr * | getSubExpr () const |
Get the child of this unary expression. | |
Public Member Functions inherited from llvm::MCExpr | |
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. |
Static Public Member Functions | |
static bool | classof (const MCExpr *E) |
Construction | |
static LLVM_ABI const MCUnaryExpr * | create (Opcode Op, const MCExpr *Expr, MCContext &Ctx, SMLoc Loc=SMLoc()) |
static const MCUnaryExpr * | createLNot (const MCExpr *Expr, MCContext &Ctx, SMLoc Loc=SMLoc()) |
static const MCUnaryExpr * | createMinus (const MCExpr *Expr, MCContext &Ctx, SMLoc Loc=SMLoc()) |
static const MCUnaryExpr * | createNot (const MCExpr *Expr, MCContext &Ctx, SMLoc Loc=SMLoc()) |
static const MCUnaryExpr * | createPlus (const MCExpr *Expr, MCContext &Ctx, SMLoc Loc=SMLoc()) |
Static Public Member Functions inherited from llvm::MCExpr | |
static LLVM_ABI bool | evaluateSymbolicAdd (const MCAssembler *, bool, const MCValue &, const MCValue &, MCValue &) |
Additional Inherited Members | |
Protected Types inherited from llvm::MCExpr | |
using | Spec = uint16_t |
Protected Member Functions inherited from llvm::MCExpr | |
MCExpr (ExprKind Kind, SMLoc Loc, unsigned SubclassData=0) | |
LLVM_ABI bool | evaluateAsRelocatableImpl (MCValue &Res, const MCAssembler *Asm, bool InSet) const |
unsigned | getSubclassData () const |
Definition at line 293 of file MCExpr.h.
References E(), llvm::MCExpr::MCExpr(), and llvm::MCExpr::Unary.
|
static |
Definition at line 207 of file MCExpr.cpp.
References llvm::MCExpr::MCExpr(), and Opc.
Referenced by llvm::MCAsmParser::applySpecifier(), createLNot(), createMinus(), createNot(), createPlus(), and tryFoldHelper().
|
inlinestatic |
Definition at line 265 of file MCExpr.h.
References create(), LNot, and llvm::MCExpr::MCExpr().
|
inlinestatic |
Definition at line 269 of file MCExpr.h.
References create(), llvm::MCExpr::MCExpr(), and Minus.
Referenced by addNegOperand(), llvm::HexagonAsmPrinter::HexagonProcessInstruction(), llvm::AArch64ExternalSymbolizer::tryAddingSymbolicOperand(), and llvm::MCExternalSymbolizer::tryAddingSymbolicOperand().
|
inlinestatic |
Definition at line 273 of file MCExpr.h.
References create(), llvm::MCExpr::MCExpr(), and Not.
Referenced by llvm::AMDGPU::MCKernelDescriptor::bits_set().
|
inlinestatic |
Definition at line 277 of file MCExpr.h.
References create(), llvm::MCExpr::MCExpr(), and Plus.
|
inline |
Get the kind of this unary expression.
Definition at line 286 of file MCExpr.h.
References llvm::MCExpr::getSubclassData().
Referenced by llvm::MCAsmParser::applySpecifier(), llvm::MCExpr::evaluateAsRelocatableImpl(), tryFoldHelper(), and unaryOpKnownBitsMapHelper().
Get the child of this unary expression.
Definition at line 289 of file MCExpr.h.
References llvm::MCExpr::MCExpr().
Referenced by llvm::MCAsmParser::applySpecifier(), llvm::MCExpr::evaluateAsRelocatableImpl(), tryFoldHelper(), and unaryOpKnownBitsMapHelper().