LLVM API Documentation

llvm::BinaryOperator Class Reference

#include <InstrTypes.h>

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

List of all members.

Public Member Functions

void * operator new (size_t s)
 DECLARE_TRANSPARENT_OPERAND_ACCESSORS (Value)
 Transparently provide more efficient getOperand methods.
 HANDLE_BINARY_INST (16, Shl, BinaryOperator) HANDLE_BINARY_INST(17
BinaryOperator HANDLE_BINARY_INST (18, AShr, BinaryOperator) HANDLE_MEMORY_INST(22
BinaryOperator MallocInst HANDLE_MEMORY_INST (24, Alloca, AllocaInst) HANDLE_MEMORY_INST(25
BinaryOperator MallocInst LoadInst HANDLE_CAST_INST (28, Trunc, TruncInst) HANDLE_CAST_INST(29
BinaryOperator MallocInst
LoadInst ZExtInst 
HANDLE_CAST_INST (30, SExt, SExtInst) HANDLE_CAST_INST(31
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst 
HANDLE_CAST_INST (32, FPToSI, FPToSIInst) HANDLE_CAST_INST(33
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst 
HANDLE_CAST_INST (34, SIToFP, SIToFPInst) HANDLE_CAST_INST(35
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst 
HANDLE_CAST_INST (36, FPExt, FPExtInst) HANDLE_CAST_INST(37
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst 
HANDLE_CAST_INST (38, IntToPtr, IntToPtrInst) HANDLE_CAST_INST(39
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst 
HANDLE_OTHER_INST (40, ICmp, ICmpInst) HANDLE_OTHER_INST(41
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst 
HANDLE_OTHER_INST (42, PHI, PHINode) HANDLE_OTHER_INST(43
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst 
HANDLE_OTHER_INST (44, Select, SelectInst) HANDLE_OTHER_INST(45
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction 
HANDLE_OTHER_INST (46, UserOp2, Instruction) HANDLE_OTHER_INST(47
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst 
HANDLE_OTHER_INST (48, ExtractElement, ExtractElementInst) HANDLE_OTHER_INST(49
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst 
HANDLE_OTHER_INST (50, ShuffleVector, ShuffleVectorInst) HANDLE_OTHER_INST(51
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst 
HANDLE_OTHER_INST (52, InsertValue, InsertValueInst) HANDLE_OTHER_INST(53
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst 
HANDLE_OTHER_INST (54, VFCmp, VFCmpInst) HANDLE_BINARY_INST(16
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst
BinaryOperator 
HANDLE_BINARY_INST (17, LShr, BinaryOperator) HANDLE_BINARY_INST(18
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst
BinaryOperator BinaryOperator 
HANDLE_MEMORY_INST (22, Malloc, MallocInst) HANDLE_MEMORY_INST(24
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst
BinaryOperator BinaryOperator
AllocaInst 
HANDLE_MEMORY_INST (25, Load, LoadInst) HANDLE_CAST_INST(28
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst
BinaryOperator BinaryOperator
AllocaInst TruncInst 
HANDLE_CAST_INST (29, ZExt, ZExtInst) HANDLE_CAST_INST(30
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst
BinaryOperator BinaryOperator
AllocaInst TruncInst SExtInst 
HANDLE_CAST_INST (31, FPToUI, FPToUIInst) HANDLE_CAST_INST(32
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst
BinaryOperator BinaryOperator
AllocaInst TruncInst SExtInst
FPToSIInst 
HANDLE_CAST_INST (33, UIToFP, UIToFPInst) HANDLE_CAST_INST(34
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst
BinaryOperator BinaryOperator
AllocaInst TruncInst SExtInst
FPToSIInst SIToFPInst 
HANDLE_CAST_INST (35, FPTrunc, FPTruncInst) HANDLE_CAST_INST(36
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst
BinaryOperator BinaryOperator
AllocaInst TruncInst SExtInst
FPToSIInst SIToFPInst
FPExtInst 
HANDLE_CAST_INST (37, PtrToInt, PtrToIntInst) HANDLE_CAST_INST(38
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst
BinaryOperator BinaryOperator
AllocaInst TruncInst SExtInst
FPToSIInst SIToFPInst
FPExtInst IntToPtrInst 
HANDLE_CAST_INST (39, BitCast, BitCastInst) HANDLE_OTHER_INST(40
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst
BinaryOperator BinaryOperator
AllocaInst TruncInst SExtInst
FPToSIInst SIToFPInst
FPExtInst IntToPtrInst
ICmpInst 
HANDLE_OTHER_INST (41, FCmp, FCmpInst) HANDLE_OTHER_INST(42
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst
BinaryOperator BinaryOperator
AllocaInst TruncInst SExtInst
FPToSIInst SIToFPInst
FPExtInst IntToPtrInst
ICmpInst PHINode 
HANDLE_OTHER_INST (43, Call, CallInst) HANDLE_OTHER_INST(44
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst
BinaryOperator BinaryOperator
AllocaInst TruncInst SExtInst
FPToSIInst SIToFPInst
FPExtInst IntToPtrInst
ICmpInst PHINode SelectInst 
HANDLE_OTHER_INST (45, UserOp1, Instruction) HANDLE_OTHER_INST(46
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst
BinaryOperator BinaryOperator
AllocaInst TruncInst SExtInst
FPToSIInst SIToFPInst
FPExtInst IntToPtrInst
ICmpInst PHINode SelectInst
Instruction 
HANDLE_OTHER_INST (47, VAArg, VAArgInst) HANDLE_OTHER_INST(48
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst
BinaryOperator BinaryOperator
AllocaInst TruncInst SExtInst
FPToSIInst SIToFPInst
FPExtInst IntToPtrInst
ICmpInst PHINode SelectInst
Instruction ExtractElementInst 
HANDLE_OTHER_INST (49, InsertElement, InsertElementInst) HANDLE_OTHER_INST(50
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst
BinaryOperator BinaryOperator
AllocaInst TruncInst SExtInst
FPToSIInst SIToFPInst
FPExtInst IntToPtrInst
ICmpInst PHINode SelectInst
Instruction ExtractElementInst
ShuffleVectorInst 
HANDLE_OTHER_INST (51, ExtractValue, ExtractValueInst) HANDLE_OTHER_INST(52
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst
BinaryOperator BinaryOperator
AllocaInst TruncInst SExtInst
FPToSIInst SIToFPInst
FPExtInst IntToPtrInst
ICmpInst PHINode SelectInst
Instruction ExtractElementInst
ShuffleVectorInst
InsertValueInst 
HANDLE_OTHER_INST (53, VICmp, VICmpInst) HANDLE_OTHER_INST(54
 HANDLE_BINARY_INST (16, Shl, BinaryOperator) HANDLE_BINARY_INST(17
BinaryOperator HANDLE_BINARY_INST (18, AShr, BinaryOperator) HANDLE_MEMORY_INST(22
BinaryOperator MallocInst HANDLE_MEMORY_INST (24, Alloca, AllocaInst) HANDLE_MEMORY_INST(25
BinaryOperator MallocInst LoadInst HANDLE_CAST_INST (28, Trunc, TruncInst) HANDLE_CAST_INST(29
BinaryOperator MallocInst
LoadInst ZExtInst 
HANDLE_CAST_INST (30, SExt, SExtInst) HANDLE_CAST_INST(31
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst 
HANDLE_CAST_INST (32, FPToSI, FPToSIInst) HANDLE_CAST_INST(33
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst 
HANDLE_CAST_INST (34, SIToFP, SIToFPInst) HANDLE_CAST_INST(35
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst 
HANDLE_CAST_INST (36, FPExt, FPExtInst) HANDLE_CAST_INST(37
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst 
HANDLE_CAST_INST (38, IntToPtr, IntToPtrInst) HANDLE_CAST_INST(39
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst 
HANDLE_OTHER_INST (40, ICmp, ICmpInst) HANDLE_OTHER_INST(41
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst 
HANDLE_OTHER_INST (42, PHI, PHINode) HANDLE_OTHER_INST(43
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst 
HANDLE_OTHER_INST (44, Select, SelectInst) HANDLE_OTHER_INST(45
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction 
HANDLE_OTHER_INST (46, UserOp2, Instruction) HANDLE_OTHER_INST(47
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst 
HANDLE_OTHER_INST (48, ExtractElement, ExtractElementInst) HANDLE_OTHER_INST(49
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst 
HANDLE_OTHER_INST (50, ShuffleVector, ShuffleVectorInst) HANDLE_OTHER_INST(51
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst 
HANDLE_OTHER_INST (52, InsertValue, InsertValueInst) HANDLE_OTHER_INST(53
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst 
HANDLE_OTHER_INST (54, VFCmp, VFCmpInst) static BinaryOperator *CreateNeg(Value *Op
BinaryOps getOpcode () const
virtual BinaryOperator * clone () const
bool swapOperands ()

Static Public Member Functions

static BinaryOperator * Create (BinaryOps Op, Value *S1, Value *S2, const std::string &Name="", Instruction *InsertBefore=0)
static BinaryOperator * Create (BinaryOps Op, Value *S1, Value *S2, const std::string &Name, BasicBlock *InsertAtEnd)
static BinaryOperator * CreateNeg (Value *Op, const std::string &Name, BasicBlock *InsertAtEnd)
static BinaryOperator * CreateNot (Value *Op, const std::string &Name="", Instruction *InsertBefore=0)
static BinaryOperator * CreateNot (Value *Op, const std::string &Name, BasicBlock *InsertAtEnd)
static bool isNeg (const Value *V)
static bool isNot (const Value *V)
static const Value * getNegArgument (const Value *BinOp)
static Value * getNegArgument (Value *BinOp)
static const Value * getNotArgument (const Value *BinOp)
static Value * getNotArgument (Value *BinOp)
static bool classof (const BinaryOperator *)
static bool classof (const Instruction *I)
 Methods for support type inquiry through isa, cast, and dyn_cast:.
static bool classof (const Value *V)

Public Attributes

 LShr
BinaryOperator Malloc
BinaryOperator MallocInst Load
BinaryOperator MallocInst LoadInst ZExt
BinaryOperator MallocInst
LoadInst ZExtInst 
FPToUI
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst 
UIToFP
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst 
FPTrunc
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst 
PtrToInt
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst 
BitCast
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst 
FCmp
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst 
Call
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst 
UserOp1
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction 
VAArg
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst 
InsertElement
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst 
ExtractValue
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst 
VICmp
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst 
Shl
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst
BinaryOperator 
AShr
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst
BinaryOperator BinaryOperator 
Alloca
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst
BinaryOperator BinaryOperator
AllocaInst 
Trunc
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst
BinaryOperator BinaryOperator
AllocaInst TruncInst 
SExt
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst
BinaryOperator BinaryOperator
AllocaInst TruncInst SExtInst 
FPToSI
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst
BinaryOperator BinaryOperator
AllocaInst TruncInst SExtInst
FPToSIInst 
SIToFP
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst
BinaryOperator BinaryOperator
AllocaInst TruncInst SExtInst
FPToSIInst SIToFPInst 
FPExt
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst
BinaryOperator BinaryOperator
AllocaInst TruncInst SExtInst
FPToSIInst SIToFPInst
FPExtInst 
IntToPtr
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst
BinaryOperator BinaryOperator
AllocaInst TruncInst SExtInst
FPToSIInst SIToFPInst
FPExtInst IntToPtrInst 
ICmp
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst
BinaryOperator BinaryOperator
AllocaInst TruncInst SExtInst
FPToSIInst SIToFPInst
FPExtInst IntToPtrInst
ICmpInst 
PHI
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst
BinaryOperator BinaryOperator
AllocaInst TruncInst SExtInst
FPToSIInst SIToFPInst
FPExtInst IntToPtrInst
ICmpInst PHINode 
Select
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst
BinaryOperator BinaryOperator
AllocaInst TruncInst SExtInst
FPToSIInst SIToFPInst
FPExtInst IntToPtrInst
ICmpInst PHINode SelectInst 
UserOp2
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst
BinaryOperator BinaryOperator
AllocaInst TruncInst SExtInst
FPToSIInst SIToFPInst
FPExtInst IntToPtrInst
ICmpInst PHINode SelectInst
Instruction 
ExtractElement
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst
BinaryOperator BinaryOperator
AllocaInst TruncInst SExtInst
FPToSIInst SIToFPInst
FPExtInst IntToPtrInst
ICmpInst PHINode SelectInst
Instruction ExtractElementInst 
ShuffleVector
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst
BinaryOperator BinaryOperator
AllocaInst TruncInst SExtInst
FPToSIInst SIToFPInst
FPExtInst IntToPtrInst
ICmpInst PHINode SelectInst
Instruction ExtractElementInst
ShuffleVectorInst 
InsertValue
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst
BinaryOperator BinaryOperator
AllocaInst TruncInst SExtInst
FPToSIInst SIToFPInst
FPExtInst IntToPtrInst
ICmpInst PHINode SelectInst
Instruction ExtractElementInst
ShuffleVectorInst
InsertValueInst 
VFCmp
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst
const std::string & 
Name = ""
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst
const std::string Instruction * 
InsertBefore = 0)

Protected Member Functions

void init (BinaryOps iType)
 BinaryOperator (BinaryOps iType, Value *S1, Value *S2, const Type *Ty, const std::string &Name, Instruction *InsertBefore)
 BinaryOperator (BinaryOps iType, Value *S1, Value *S2, const Type *Ty, const std::string &Name, BasicBlock *InsertAtEnd)


Detailed Description

Definition at line 139 of file InstrTypes.h.


Constructor & Destructor Documentation

BinaryOperator::BinaryOperator ( BinaryOps  iType,
Value *  S1,
Value *  S2,
const Type *  Ty,
const std::string &  Name,
Instruction *  InsertBefore 
) [protected]

Definition at line 1474 of file Instructions.cpp.

References init(), and llvm::Value::setName().

Referenced by Create(), CreateNeg(), and CreateNot().

BinaryOperator::BinaryOperator ( BinaryOps  iType,
Value *  S1,
Value *  S2,
const Type *  Ty,
const std::string &  Name,
BasicBlock *  InsertAtEnd 
) [protected]

Definition at line 1487 of file Instructions.cpp.

References init(), and llvm::Value::setName().


Member Function Documentation

void BinaryOperator::init ( BinaryOps  iType  )  [protected]

void* llvm::BinaryOperator::operator new ( size_t  s  )  [inline]

Reimplemented from llvm::User.

Definition at line 149 of file InstrTypes.h.

llvm::BinaryOperator::DECLARE_TRANSPARENT_OPERAND_ACCESSORS ( Value   ) 

Transparently provide more efficient getOperand methods.

BinaryOperator * BinaryOperator::Create ( BinaryOps  Op,
Value *  S1,
Value *  S2,
const std::string &  Name = "",
Instruction *  InsertBefore = 0 
) [static]

Create() - Construct a binary instruction, given the opcode and the two operands. Optionally (if InstBefore is specified) insert the instruction into a BasicBlock right before the specified instruction. The specified Instruction is allowed to be a dereferenced end iterator.

Definition at line 1571 of file Instructions.cpp.

References BinaryOperator(), and llvm::Value::getType().

Referenced by clone(), Create(), llvm::NoFolder::CreateBinOp(), llvm::IRBuilder< preserveNames, T >::CreateBinOp(), llvm::IncrementCounterInBlock(), and llvm::SCEVExpander::InsertBinop().

BinaryOperator * BinaryOperator::Create ( BinaryOps  Op,
Value *  S1,
Value *  S2,
const std::string &  Name,
BasicBlock *  InsertAtEnd 
) [static]

Create() - Construct a binary instruction, given the opcode and the two operands. Also automatically insert this instruction to the end of the BasicBlock specified.

Definition at line 1579 of file Instructions.cpp.

References Create(), and llvm::BasicBlock::getInstList().

llvm::BinaryOperator::HANDLE_BINARY_INST ( 16  ,
Shl  ,
BinaryOperator   
)

BinaryOperator llvm::BinaryOperator::HANDLE_BINARY_INST ( 18  ,
AShr  ,
BinaryOperator   
)

Type Constraints

BinaryOperator MallocInst llvm::BinaryOperator::HANDLE_MEMORY_INST ( 24  ,
Alloca  ,
AllocaInst   
)

Type Constraints

BinaryOperator MallocInst LoadInst llvm::BinaryOperator::HANDLE_CAST_INST ( 28  ,
Trunc  ,
TruncInst   
)

Type Constraints

BinaryOperator MallocInst LoadInst ZExtInst llvm::BinaryOperator::HANDLE_CAST_INST ( 30  ,
SExt  ,
SExtInst   
)

Type Constraints

BinaryOperator MallocInst LoadInst ZExtInst FPToUIInst llvm::BinaryOperator::HANDLE_CAST_INST ( 32  ,
FPToSI  ,
FPToSIInst   
)

Type Constraints

BinaryOperator MallocInst LoadInst ZExtInst FPToUIInst UIToFPInst llvm::BinaryOperator::HANDLE_CAST_INST ( 34  ,
SIToFP  ,
SIToFPInst   
)

Type Constraints

BinaryOperator MallocInst LoadInst ZExtInst FPToUIInst UIToFPInst FPTruncInst llvm::BinaryOperator::HANDLE_CAST_INST ( 36  ,
FPExt  ,
FPExtInst   
)

Type Constraints

BinaryOperator MallocInst LoadInst ZExtInst FPToUIInst UIToFPInst FPTruncInst PtrToIntInst llvm::BinaryOperator::HANDLE_CAST_INST ( 38  ,
IntToPtr  ,
IntToPtrInst   
)

Type Constraints

BinaryOperator MallocInst LoadInst ZExtInst FPToUIInst UIToFPInst FPTruncInst PtrToIntInst BitCastInst llvm::BinaryOperator::HANDLE_OTHER_INST ( 40  ,
ICmp  ,
ICmpInst   
)

Type Constraints

Type Constraints

Type Constraints

Type Constraints

Type Constraints

Type Constraints

Type Constraints

Type Constraints

Type Constraints

Type Constraints

Type Constraints

Type Constraints

Type Constraints

Type Constraints

Type Constraints

Type Constraints

Type Constraints

Type Constraints

Type Constraints

Type Constraints

Type Constraints

Type Constraints

Type Constraints

Type Constraints

llvm::BinaryOperator::HANDLE_BINARY_INST ( 16  ,
Shl  ,
BinaryOperator   
)

BinaryOperator llvm::BinaryOperator::HANDLE_BINARY_INST ( 18  ,
AShr  ,
BinaryOperator   
)

Type Constraints

BinaryOperator MallocInst llvm::BinaryOperator::HANDLE_MEMORY_INST ( 24  ,
Alloca  ,
AllocaInst   
)

Type Constraints

BinaryOperator MallocInst LoadInst llvm::BinaryOperator::HANDLE_CAST_INST ( 28  ,
Trunc  ,
TruncInst   
)

Type Constraints

BinaryOperator MallocInst LoadInst ZExtInst llvm::BinaryOperator::HANDLE_CAST_INST ( 30  ,
SExt  ,
SExtInst   
)

Type Constraints

BinaryOperator MallocInst LoadInst ZExtInst FPToUIInst llvm::BinaryOperator::HANDLE_CAST_INST ( 32  ,
FPToSI  ,
FPToSIInst   
)

Type Constraints

BinaryOperator MallocInst LoadInst ZExtInst FPToUIInst UIToFPInst llvm::BinaryOperator::HANDLE_CAST_INST ( 34  ,
SIToFP  ,
SIToFPInst   
)

Type Constraints

BinaryOperator MallocInst LoadInst ZExtInst FPToUIInst UIToFPInst FPTruncInst llvm::BinaryOperator::HANDLE_CAST_INST ( 36  ,
FPExt  ,
FPExtInst   
)

Type Constraints

BinaryOperator MallocInst LoadInst ZExtInst FPToUIInst UIToFPInst FPTruncInst PtrToIntInst llvm::BinaryOperator::HANDLE_CAST_INST ( 38  ,
IntToPtr  ,
IntToPtrInst   
)

Type Constraints

BinaryOperator MallocInst LoadInst ZExtInst FPToUIInst UIToFPInst FPTruncInst PtrToIntInst BitCastInst llvm::BinaryOperator::HANDLE_OTHER_INST ( 40  ,
ICmp  ,
ICmpInst   
)

Type Constraints

Type Constraints

Type Constraints

Type Constraints

Type Constraints

Type Constraints

Type Constraints

Helper functions to construct and inspect unary operations (NEG and NOT) via binary operators SUB and XOR:

CreateNeg, CreateNot - Create the NEG and NOT instructions out of SUB and XOR instructions.

Type Constraints

BinaryOperator * BinaryOperator::CreateNeg ( Value *  Op,
const std::string &  Name,
BasicBlock *  InsertAtEnd 
) [static]

BinaryOperator * BinaryOperator::CreateNot ( Value *  Op,
const std::string &  Name = "",
Instruction *  InsertBefore = 0 
) [static]

BinaryOperator * BinaryOperator::CreateNot ( Value *  Op,
const std::string &  Name,
BasicBlock *  InsertAtEnd 
) [static]

bool BinaryOperator::isNeg ( const Value *  V  )  [static]

isNeg, isNot - Check if the given Value is a NEG or NOT instruction.

Definition at line 1643 of file Instructions.cpp.

References llvm::ConstantExpr::getZeroValueForNegationExpr().

Referenced by getNegArgument().

bool BinaryOperator::isNot ( const Value *  V  )  [static]

Definition at line 1651 of file Instructions.cpp.

References isConstantAllOnes(), and llvm::APIntOps::Xor().

Referenced by getNotArgument().

const Value * BinaryOperator::getNegArgument ( const Value *  BinOp  )  [static]

getNegArgument, getNotArgument - Helper functions to extract the unary argument of a NEG or NOT operation implemented via Sub or Xor.

Definition at line 1664 of file Instructions.cpp.

Value * BinaryOperator::getNegArgument ( Value *  BinOp  )  [static]

Definition at line 1659 of file Instructions.cpp.

References llvm::User::getOperand(), and isNeg().

const Value * BinaryOperator::getNotArgument ( const Value *  BinOp  )  [static]

Definition at line 1679 of file Instructions.cpp.

Value * BinaryOperator::getNotArgument ( Value *  BinOp  )  [static]

Definition at line 1668 of file Instructions.cpp.

References llvm::User::getOperand(), isConstantAllOnes(), and isNot().

BinaryOps llvm::BinaryOperator::getOpcode (  )  const [inline]

Subclass classification... getOpcode() returns a member of one of the enums that is coming soon (down below)...

Reimplemented from llvm::Instruction.

Definition at line 809 of file InstrTypes.h.

Referenced by AssociativeOpt(), clone(), CollectBSwapParts(), DecomposeSimpleLinearExpr(), FindSingleUseMultiplyFactors(), llvm::Value::getUnderlyingObject(), PointsToConstantGlobal(), and llvm::Interpreter::visitBinaryOperator().

BinaryOperator * BinaryOperator::clone (  )  const [virtual]

clone() - Create a copy of 'this' instruction that is identical in all ways except the following: The instruction has no parent The instruction has no name

Implements llvm::Instruction.

Definition at line 2859 of file Instructions.cpp.

References Create(), and getOpcode().

bool BinaryOperator::swapOperands (  ) 

swapOperands - Exchange the two operands to this instruction. This instruction is safe to use on any binary instruction and does not modify the semantics of the instruction. If the instruction cannot be reversed (ie, it's a Div), then return true.

Definition at line 1689 of file Instructions.cpp.

References llvm::Instruction::isCommutative(), and llvm::swap().

static bool llvm::BinaryOperator::classof ( const BinaryOperator *   )  [inline, static]

Definition at line 823 of file InstrTypes.h.

static bool llvm::BinaryOperator::classof ( const Instruction *   )  [inline, static]

Methods for support type inquiry through isa, cast, and dyn_cast:.

Reimplemented from llvm::Instruction.

Definition at line 824 of file InstrTypes.h.

static bool llvm::BinaryOperator::classof ( const Value *  V  )  [inline, static]

Reimplemented from llvm::Instruction.

Definition at line 827 of file InstrTypes.h.


Member Data Documentation

Definition at line 299 of file InstrTypes.h.

Referenced by init().

Definition at line 308 of file InstrTypes.h.

Definition at line 311 of file InstrTypes.h.

Definition at line 321 of file InstrTypes.h.

Definition at line 323 of file InstrTypes.h.

Definition at line 325 of file InstrTypes.h.

Definition at line 327 of file InstrTypes.h.

Definition at line 329 of file InstrTypes.h.

Definition at line 331 of file InstrTypes.h.

Definition at line 337 of file InstrTypes.h.

Definition at line 339 of file InstrTypes.h.

Definition at line 341 of file InstrTypes.h.

Definition at line 343 of file InstrTypes.h.

Definition at line 345 of file InstrTypes.h.

Definition at line 347 of file InstrTypes.h.

Definition at line 349 of file InstrTypes.h.

Definition at line 499 of file InstrTypes.h.

Referenced by init().

Definition at line 501 of file InstrTypes.h.

Referenced by init().

Definition at line 511 of file InstrTypes.h.

Definition at line 521 of file InstrTypes.h.

Definition at line 523 of file InstrTypes.h.

Definition at line 525 of file InstrTypes.h.

Definition at line 527 of file InstrTypes.h.

Definition at line 529 of file InstrTypes.h.

Definition at line 531 of file InstrTypes.h.

Definition at line 537 of file InstrTypes.h.

Definition at line 539 of file InstrTypes.h.

Definition at line 541 of file InstrTypes.h.

Definition at line 543 of file InstrTypes.h.

Definition at line 545 of file InstrTypes.h.

Definition at line 547 of file InstrTypes.h.

Definition at line 549 of file InstrTypes.h.

Definition at line 551 of file InstrTypes.h.

Reimplemented from llvm::Value.

Definition at line 787 of file InstrTypes.h.

Definition at line 788 of file InstrTypes.h.


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