LLVM API Documentation
MCBinaryExpr - Binary assembler expressions. More...
#include <MCExpr.h>
Public Types | |
enum | Opcode { Add, And, Div, EQ, GT, GTE, LAnd, LOr, LT, LTE, Mod, Mul, NE, Or, Shl, Shr, Sub, Xor } |
![]() | |
enum | ExprKind { Binary, Constant, SymbolRef, Unary, Target } |
Public Member Functions | |
Accessors | |
Opcode | getOpcode () const |
getOpcode - Get the kind of this binary expression. More... | |
const MCExpr * | getLHS () const |
getLHS - Get the left-hand side expression of the binary operator. More... | |
const MCExpr * | getRHS () const |
getRHS - Get the right-hand side expression of the binary operator. More... | |
![]() | |
ExprKind | getKind () const |
void | print (raw_ostream &OS) const |
void | dump () const |
bool | EvaluateAsAbsolute (int64_t &Res, const MCAsmLayout &Layout, const SectionAddrMap &Addrs) const |
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 | EvaluateAsRelocatable (MCValue &Res, const MCAsmLayout &Layout) const |
const MCSection * | FindAssociatedSection () const |
Static Public Member Functions | |
static bool | classof (const MCExpr *E) |
Construction | |
static const MCBinaryExpr * | Create (Opcode Op, const MCExpr *LHS, const MCExpr *RHS, MCContext &Ctx) |
static const MCBinaryExpr * | CreateAdd (const MCExpr *LHS, const MCExpr *RHS, MCContext &Ctx) |
static const MCBinaryExpr * | CreateAnd (const MCExpr *LHS, const MCExpr *RHS, MCContext &Ctx) |
static const MCBinaryExpr * | CreateDiv (const MCExpr *LHS, const MCExpr *RHS, MCContext &Ctx) |
static const MCBinaryExpr * | CreateEQ (const MCExpr *LHS, const MCExpr *RHS, MCContext &Ctx) |
static const MCBinaryExpr * | CreateGT (const MCExpr *LHS, const MCExpr *RHS, MCContext &Ctx) |
static const MCBinaryExpr * | CreateGTE (const MCExpr *LHS, const MCExpr *RHS, MCContext &Ctx) |
static const MCBinaryExpr * | CreateLAnd (const MCExpr *LHS, const MCExpr *RHS, MCContext &Ctx) |
static const MCBinaryExpr * | CreateLOr (const MCExpr *LHS, const MCExpr *RHS, MCContext &Ctx) |
static const MCBinaryExpr * | CreateLT (const MCExpr *LHS, const MCExpr *RHS, MCContext &Ctx) |
static const MCBinaryExpr * | CreateLTE (const MCExpr *LHS, const MCExpr *RHS, MCContext &Ctx) |
static const MCBinaryExpr * | CreateMod (const MCExpr *LHS, const MCExpr *RHS, MCContext &Ctx) |
static const MCBinaryExpr * | CreateMul (const MCExpr *LHS, const MCExpr *RHS, MCContext &Ctx) |
static const MCBinaryExpr * | CreateNE (const MCExpr *LHS, const MCExpr *RHS, MCContext &Ctx) |
static const MCBinaryExpr * | CreateOr (const MCExpr *LHS, const MCExpr *RHS, MCContext &Ctx) |
static const MCBinaryExpr * | CreateShl (const MCExpr *LHS, const MCExpr *RHS, MCContext &Ctx) |
static const MCBinaryExpr * | CreateShr (const MCExpr *LHS, const MCExpr *RHS, MCContext &Ctx) |
static const MCBinaryExpr * | CreateSub (const MCExpr *LHS, const MCExpr *RHS, MCContext &Ctx) |
static const MCBinaryExpr * | CreateXor (const MCExpr *LHS, const MCExpr *RHS, MCContext &Ctx) |
Additional Inherited Members | |
![]() | |
MCExpr (ExprKind _Kind) | |
bool | EvaluateAsRelocatableImpl (MCValue &Res, const MCAssembler *Asm, const MCAsmLayout *Layout, const SectionAddrMap *Addrs, bool InSet) const |
MCBinaryExpr - Binary assembler expressions.
Definition at line 484 of file MCExpr.h.
References llvm::MCExpr::Binary, and llvm::MCExpr::getKind().
|
static |
Definition at line 142 of file MCExpr.cpp.
Referenced by llvm::MCStreamer::BuildSymbolDiff(), CreateAdd(), CreateAnd(), CreateDiv(), CreateEQ(), CreateGT(), CreateGTE(), CreateLAnd(), CreateLOr(), CreateLT(), CreateLTE(), CreateMod(), CreateMul(), CreateNE(), CreateOr(), CreateShl(), CreateShr(), CreateSub(), CreateXor(), llvm::MCObjectStreamer::EmitValueToOffset(), and MakeStartMinusEndExpr().
|
inlinestatic |
Definition at line 396 of file MCExpr.h.
Referenced by llvm::X86AsmPrinter::EmitInstruction(), llvm::ARMAsmPrinter::EmitInstruction(), llvm::ARMAsmPrinter::EmitJumpTable(), llvm::AsmPrinter::EmitLabelOffsetDifference(), llvm::AsmPrinter::EmitLabelPlusOffset(), llvm::ARMAsmPrinter::EmitMachineConstantPoolValue(), llvm::EmitSymbolRefWithOfs(), llvm::SystemZMCInstLower::getExpr(), llvm::X86_64MCAsmInfoDarwin::getExprForPersonalitySymbol(), GetSymbolRef(), llvm::X86_64MachoTargetObjectFile::getTTypeGlobalReference(), nvptx::LowerConstant(), lowerConstant(), llvm::MSP430MCInstLower::LowerSymbolOperand(), llvm::AArch64AsmPrinter::lowerSymbolOperand(), llvm::MCExternalSymbolizer::tryAddingSymbolicOperand(), and llvm::MCObjectSymbolizer::tryAddingSymbolicOperand().
|
inlinestatic |
Definition at line 400 of file MCExpr.h.
Referenced by nvptx::LowerConstant(), and lowerConstant().
|
inlinestatic |
Definition at line 404 of file MCExpr.h.
Referenced by llvm::ARMAsmPrinter::EmitJump2Table(), nvptx::LowerConstant(), and lowerConstant().
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 436 of file MCExpr.h.
Referenced by nvptx::LowerConstant(), and lowerConstant().
|
inlinestatic |
Definition at line 440 of file MCExpr.h.
Referenced by nvptx::LowerConstant(), and lowerConstant().
|
inlinestatic |
|
inlinestatic |
Definition at line 448 of file MCExpr.h.
Referenced by nvptx::LowerConstant(), and lowerConstant().
|
inlinestatic |
Definition at line 452 of file MCExpr.h.
Referenced by nvptx::LowerConstant(), and lowerConstant().
|
inlinestatic |
|
inlinestatic |
Definition at line 460 of file MCExpr.h.
Referenced by llvm::EmitAbsDifference(), llvm::AsmPrinter::EmitFunctionBody(), llvm::X86AsmPrinter::EmitInstruction(), llvm::ARMAsmPrinter::EmitInstruction(), llvm::ARMAsmPrinter::EmitJump2Table(), llvm::ARMAsmPrinter::EmitJumpTable(), llvm::AsmPrinter::EmitJumpTableInfo(), llvm::AsmPrinter::EmitLabelDifference(), llvm::AsmPrinter::EmitLabelOffsetDifference(), llvm::ARMAsmPrinter::EmitMachineConstantPoolValue(), llvm::EmitSymbolRefWithOfs(), llvm::MCAsmInfo::getExprForFDESymbol(), GetSymbolRef(), llvm::TargetLoweringObjectFile::getTTypeReference(), nvptx::LowerConstant(), lowerConstant(), and llvm::MCExternalSymbolizer::tryAddingSymbolicOperand().
|
inlinestatic |
Definition at line 464 of file MCExpr.h.
Referenced by nvptx::LowerConstant(), and lowerConstant().
|
inline |
getLHS - Get the left-hand side expression of the binary operator.
Definition at line 477 of file MCExpr.h.
Referenced by llvm::MCObjectStreamer::AddValueSymbols(), AddValueSymbols_(), AddValueSymbolsImpl(), llvm::MCExpr::EvaluateAsRelocatableImpl(), llvm::MCExpr::FindAssociatedSection(), fixELFSymbolsInTLSFixupsImpl(), isUsedIn(), llvm::MipsGetSymAndOffset(), llvm::MCExpr::print(), and StartsWithGlobalOffsetTable().
|
inline |
getOpcode - Get the kind of this binary expression.
Definition at line 474 of file MCExpr.h.
Referenced by llvm::MCExpr::EvaluateAsRelocatableImpl(), and llvm::MCExpr::print().
|
inline |
getRHS - Get the right-hand side expression of the binary operator.
Definition at line 480 of file MCExpr.h.
Referenced by llvm::MCObjectStreamer::AddValueSymbols(), AddValueSymbols_(), AddValueSymbolsImpl(), llvm::MCExpr::EvaluateAsRelocatableImpl(), llvm::MCExpr::FindAssociatedSection(), fixELFSymbolsInTLSFixupsImpl(), isUsedIn(), llvm::MipsGetSymAndOffset(), llvm::MCExpr::print(), and StartsWithGlobalOffsetTable().