LLVM  3.7.0
Public Types | Static Public Member Functions | List of all members
llvm::MCUnaryExpr Class Reference

Unary assembler expressions. More...

#include <MCExpr.h>

Inheritance diagram for llvm::MCUnaryExpr:
[legend]
Collaboration diagram for llvm::MCUnaryExpr:
[legend]

Public Types

enum  Opcode { LNot, Minus, Not, Plus }
 
- Public Types inherited from llvm::MCExpr
enum  ExprKind {
  Binary, Constant, SymbolRef, Unary,
  Target
}
 

Public Member Functions

Accessors
Opcode getOpcode () const
 Get the kind of this unary expression. More...
 
const MCExprgetSubExpr () const
 Get the child of this unary expression. More...
 
- Public Member Functions inherited from llvm::MCExpr
ExprKind getKind () const
 
void print (raw_ostream &OS, const MCAsmInfo *MAI) 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 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...
 
MCSectionfindAssociatedSection () 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 MCUnaryExprcreate (Opcode Op, const MCExpr *Expr, MCContext &Ctx)
 
static const MCUnaryExprcreateLNot (const MCExpr *Expr, MCContext &Ctx)
 
static const MCUnaryExprcreateMinus (const MCExpr *Expr, MCContext &Ctx)
 
static const MCUnaryExprcreateNot (const MCExpr *Expr, MCContext &Ctx)
 
static const MCUnaryExprcreatePlus (const MCExpr *Expr, MCContext &Ctx)
 

Additional Inherited Members

- Protected Member Functions inherited from llvm::MCExpr
 MCExpr (ExprKind Kind)
 
bool evaluateAsRelocatableImpl (MCValue &Res, const MCAssembler *Asm, const MCAsmLayout *Layout, const MCFixup *Fixup, const SectionAddrMap *Addrs, bool InSet) const
 

Detailed Description

Unary assembler expressions.

Definition at line 352 of file MCExpr.h.

Member Enumeration Documentation

Enumerator
LNot 

Logical negation.

Minus 

Unary minus.

Not 

Bitwise negation.

Plus 

Unary plus.

Definition at line 354 of file MCExpr.h.

Member Function Documentation

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

Definition at line 399 of file MCExpr.h.

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

const MCUnaryExpr * MCUnaryExpr::create ( Opcode  Op,
const MCExpr Expr,
MCContext Ctx 
)
static

Definition at line 145 of file MCExpr.cpp.

Referenced by createLNot(), createMinus(), createNot(), and createPlus().

static const MCUnaryExpr* llvm::MCUnaryExpr::createLNot ( const MCExpr Expr,
MCContext Ctx 
)
inlinestatic

Definition at line 374 of file MCExpr.h.

References create(), and LNot.

static const MCUnaryExpr* llvm::MCUnaryExpr::createMinus ( const MCExpr Expr,
MCContext Ctx 
)
inlinestatic
static const MCUnaryExpr* llvm::MCUnaryExpr::createNot ( const MCExpr Expr,
MCContext Ctx 
)
inlinestatic

Definition at line 380 of file MCExpr.h.

References create(), and Not.

static const MCUnaryExpr* llvm::MCUnaryExpr::createPlus ( const MCExpr Expr,
MCContext Ctx 
)
inlinestatic

Definition at line 383 of file MCExpr.h.

References create(), and Plus.

Opcode llvm::MCUnaryExpr::getOpcode ( ) const
inline

Get the kind of this unary expression.

Definition at line 392 of file MCExpr.h.

Referenced by llvm::MCExpr::evaluateAsRelocatableImpl(), and llvm::MCExpr::print().

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

Get the child of this unary expression.

Definition at line 395 of file MCExpr.h.

Referenced by llvm::MCExpr::evaluateAsRelocatableImpl(), and llvm::MCExpr::print().


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