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 } |
Public Member Functions | |
Accessors | |
| Opcode | getOpcode () const |
| getOpcode - Get the kind of this binary expression. | |
| const MCExpr * | getLHS () const |
| getLHS - Get the left-hand side expression of the binary operator. | |
| const MCExpr * | getRHS () const |
| getRHS - Get the right-hand side expression of the binary operator. | |
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) |
MCBinaryExpr - Binary assembler expressions.
Definition at line 454 of file MCExpr.h.
References llvm::MCExpr::Binary, and llvm::MCExpr::getKind().
| const MCBinaryExpr * MCBinaryExpr::Create | ( | Opcode | Op, |
| const MCExpr * | LHS, | ||
| const MCExpr * | RHS, | ||
| MCContext & | Ctx | ||
| ) | [static] |
Definition at line 151 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().
| static const MCBinaryExpr* llvm::MCBinaryExpr::CreateAdd | ( | const MCExpr * | LHS, |
| const MCExpr * | RHS, | ||
| MCContext & | Ctx | ||
| ) | [inline, static] |
Definition at line 366 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::X86_64MCAsmInfoDarwin::getExprForPersonalitySymbol(), GetSymbolRef(), llvm::X86_64MachoTargetObjectFile::getTTypeGlobalReference(), nvptx::LowerConstant(), lowerConstant(), llvm::MBlazeMCInstLower::LowerSymbolOperand(), llvm::MSP430MCInstLower::LowerSymbolOperand(), llvm::SystemZMCInstLower::lowerSymbolOperand(), llvm::AArch64AsmPrinter::lowerSymbolOperand(), and tryAddingSymbolicOperand().
| static const MCBinaryExpr* llvm::MCBinaryExpr::CreateAnd | ( | const MCExpr * | LHS, |
| const MCExpr * | RHS, | ||
| MCContext & | Ctx | ||
| ) | [inline, static] |
Definition at line 370 of file MCExpr.h.
Referenced by nvptx::LowerConstant(), and lowerConstant().
| static const MCBinaryExpr* llvm::MCBinaryExpr::CreateDiv | ( | const MCExpr * | LHS, |
| const MCExpr * | RHS, | ||
| MCContext & | Ctx | ||
| ) | [inline, static] |
Definition at line 374 of file MCExpr.h.
Referenced by llvm::ARMAsmPrinter::EmitJump2Table(), nvptx::LowerConstant(), and lowerConstant().
| static const MCBinaryExpr* llvm::MCBinaryExpr::CreateEQ | ( | const MCExpr * | LHS, |
| const MCExpr * | RHS, | ||
| MCContext & | Ctx | ||
| ) | [inline, static] |
| static const MCBinaryExpr* llvm::MCBinaryExpr::CreateGT | ( | const MCExpr * | LHS, |
| const MCExpr * | RHS, | ||
| MCContext & | Ctx | ||
| ) | [inline, static] |
| static const MCBinaryExpr* llvm::MCBinaryExpr::CreateGTE | ( | const MCExpr * | LHS, |
| const MCExpr * | RHS, | ||
| MCContext & | Ctx | ||
| ) | [inline, static] |
| static const MCBinaryExpr* llvm::MCBinaryExpr::CreateLAnd | ( | const MCExpr * | LHS, |
| const MCExpr * | RHS, | ||
| MCContext & | Ctx | ||
| ) | [inline, static] |
| static const MCBinaryExpr* llvm::MCBinaryExpr::CreateLOr | ( | const MCExpr * | LHS, |
| const MCExpr * | RHS, | ||
| MCContext & | Ctx | ||
| ) | [inline, static] |
| static const MCBinaryExpr* llvm::MCBinaryExpr::CreateLT | ( | const MCExpr * | LHS, |
| const MCExpr * | RHS, | ||
| MCContext & | Ctx | ||
| ) | [inline, static] |
| static const MCBinaryExpr* llvm::MCBinaryExpr::CreateLTE | ( | const MCExpr * | LHS, |
| const MCExpr * | RHS, | ||
| MCContext & | Ctx | ||
| ) | [inline, static] |
| static const MCBinaryExpr* llvm::MCBinaryExpr::CreateMod | ( | const MCExpr * | LHS, |
| const MCExpr * | RHS, | ||
| MCContext & | Ctx | ||
| ) | [inline, static] |
Definition at line 406 of file MCExpr.h.
Referenced by nvptx::LowerConstant(), and lowerConstant().
| static const MCBinaryExpr* llvm::MCBinaryExpr::CreateMul | ( | const MCExpr * | LHS, |
| const MCExpr * | RHS, | ||
| MCContext & | Ctx | ||
| ) | [inline, static] |
Definition at line 410 of file MCExpr.h.
Referenced by nvptx::LowerConstant(), and lowerConstant().
| static const MCBinaryExpr* llvm::MCBinaryExpr::CreateNE | ( | const MCExpr * | LHS, |
| const MCExpr * | RHS, | ||
| MCContext & | Ctx | ||
| ) | [inline, static] |
| static const MCBinaryExpr* llvm::MCBinaryExpr::CreateOr | ( | const MCExpr * | LHS, |
| const MCExpr * | RHS, | ||
| MCContext & | Ctx | ||
| ) | [inline, static] |
Definition at line 418 of file MCExpr.h.
Referenced by nvptx::LowerConstant(), and lowerConstant().
| static const MCBinaryExpr* llvm::MCBinaryExpr::CreateShl | ( | const MCExpr * | LHS, |
| const MCExpr * | RHS, | ||
| MCContext & | Ctx | ||
| ) | [inline, static] |
Definition at line 422 of file MCExpr.h.
Referenced by nvptx::LowerConstant(), and lowerConstant().
| static const MCBinaryExpr* llvm::MCBinaryExpr::CreateShr | ( | const MCExpr * | LHS, |
| const MCExpr * | RHS, | ||
| MCContext & | Ctx | ||
| ) | [inline, static] |
| static const MCBinaryExpr* llvm::MCBinaryExpr::CreateSub | ( | const MCExpr * | LHS, |
| const MCExpr * | RHS, | ||
| MCContext & | Ctx | ||
| ) | [inline, static] |
Definition at line 430 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::MCAsmInfo::getExprForFDESymbol(), GetSymbolRef(), llvm::TargetLoweringObjectFile::getTTypeReference(), nvptx::LowerConstant(), lowerConstant(), and tryAddingSymbolicOperand().
| static const MCBinaryExpr* llvm::MCBinaryExpr::CreateXor | ( | const MCExpr * | LHS, |
| const MCExpr * | RHS, | ||
| MCContext & | Ctx | ||
| ) | [inline, static] |
Definition at line 434 of file MCExpr.h.
Referenced by nvptx::LowerConstant(), and lowerConstant().
| const MCExpr* llvm::MCBinaryExpr::getLHS | ( | ) | const [inline] |
getLHS - Get the left-hand side expression of the binary operator.
Definition at line 447 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().
| Opcode llvm::MCBinaryExpr::getOpcode | ( | ) | const [inline] |
getOpcode - Get the kind of this binary expression.
Definition at line 444 of file MCExpr.h.
Referenced by llvm::MCExpr::EvaluateAsRelocatableImpl(), and llvm::MCExpr::print().
| const MCExpr* llvm::MCBinaryExpr::getRHS | ( | ) | const [inline] |
getRHS - Get the right-hand side expression of the binary operator.
Definition at line 450 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().