LLVM API Documentation
#include <InstrTypes.h>
Inheritance diagram for llvm::BinaryOperator:
Definition at line 77 of file InstrTypes.h.
|
Definition at line 80 of file InstrTypes.h. References init(). Referenced by create(), createNeg(), and createNot(). |
|
Definition at line 85 of file InstrTypes.h. References init(). |
|
Reimplemented from llvm::Instruction. Reimplemented in llvm::SetCondInst. Definition at line 649 of file InstrTypes.h. |
|
Methods for support type inquiry through isa, cast, and dyn_cast:.
Reimplemented from llvm::Instruction. Reimplemented in llvm::SetCondInst. Definition at line 646 of file InstrTypes.h. |
|
Definition at line 645 of file InstrTypes.h. |
|
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 801 of file Instructions.cpp. References create(), getOpcode(), and llvm::User::Operands. Referenced by llvm::SimplifyCFG(). |
|
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 591 of file Instructions.cpp. References create(), and llvm::BasicBlock::getInstList(). |
|
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 575 of file Instructions.cpp. References BinaryOperator(), llvm::Value::getType(), llvm::ISD::SetEQ, llvm::ISD::SetGE, llvm::ISD::SetGT, llvm::ISD::SetLE, llvm::ISD::SetLT, and llvm::ISD::SetNE. Referenced by clone(), llvm::ConvertExpressionToType(), ConvertMallocToType(), ConvertOperandToType(), create(), llvm::IncrementCounterInBlock(), OperandConvertibleToType(), llvm::BytecodeReader::ParseInstruction(), and llvm::SimplifyCFG(). |
|
Definition at line 611 of file Instructions.cpp. References BinaryOperator(), llvm::ConstantFP::get(), llvm::Constant::getNullValue(), llvm::Value::getType(), and llvm::Type::isFloatingPoint(). |
|
Definition at line 630 of file Instructions.cpp. References BinaryOperator(), llvm::ConstantIntegral::getAllOnesValue(), llvm::Value::getType(), and llvm::ISD::Xor. |
|
Definition at line 623 of file Instructions.cpp. References BinaryOperator(), llvm::ConstantIntegral::getAllOnesValue(), llvm::Value::getType(), and llvm::ISD::Xor. Referenced by llvm::SimplifyCFG(). |
|
Definition at line 661 of file Instructions.cpp. References llvm::User::getOperand(), and isNeg(). |
|
getNegArgument, getNotArgument - Helper functions to extract the unary argument of a NEG or NOT operation implemented via Sub or Xor. Definition at line 666 of file Instructions.cpp. |
|
Definition at line 670 of file Instructions.cpp. References llvm::User::getOperand(), isConstantAllOnes(), and isNot(). |
|
Definition at line 680 of file Instructions.cpp. |
|
Subclass classification... getOpcode() returns a member of one of the enums that is coming soon (down below)... Reimplemented from llvm::Instruction. Definition at line 629 of file InstrTypes.h. Referenced by FoldSetCCLogical::apply(), AssociativeOpt(), clone(), dyn_castFoldableMul(), llvm::SetCondInst::getInverseCondition(), getSetCondCode(), llvm::SetCondInst::getSwappedCondition(), GetValueEqualityComparisonCases(), HandleCastToPointer(), NegateValue(), OptimizeGlobalAddressOfMalloc(), and llvm::Interpreter::visitBinaryOperator(). |
|
|
|
|
|
|
|
|
|
|
|
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. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 540 of file Instructions.cpp. References Add(), llvm::ISD::And, llvm::Type::BoolTy, llvm::Value::getType(), Mul(), llvm::User::Operands, llvm::ISD::Or, llvm::ISD::SetEQ, llvm::ISD::SetGE, llvm::ISD::SetGT, llvm::ISD::SetLE, llvm::ISD::SetLT, llvm::ISD::SetNE, and llvm::ISD::Xor. Referenced by BinaryOperator(). |
|
isNeg, isNot - Check if the given Value is a NEG or NOT instruction. Definition at line 643 of file Instructions.cpp. References llvm::ConstantFP::get(), llvm::Constant::getNullValue(), and llvm::Constant::getOperand(). Referenced by getComplexity(), and getNegArgument(). |
|
Definition at line 653 of file Instructions.cpp. References isConstantAllOnes(), and llvm::ISD::Xor. Referenced by getComplexity(), getNotArgument(), and llvm::InstructionNode::InstructionNode(). |
|
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 is order dependent (SetLT f.e.) the opcode is changed. If the instruction cannot be reversed (ie, it's a Div), then return true. Definition at line 690 of file Instructions.cpp. References llvm::Instruction::isCommutative(), and llvm::User::Operands. Referenced by FoldSetCCLogical::apply(). |
|
Reimplemented from llvm::Instruction. Definition at line 558 of file InstrTypes.h. |
|
Reimplemented from llvm::Instruction. Definition at line 568 of file InstrTypes.h. |
|
Reimplemented from llvm::Instruction. Definition at line 405 of file InstrTypes.h. |
|
Definition at line 608 of file InstrTypes.h. |
|
Reimplemented from llvm::Instruction. Definition at line 397 of file InstrTypes.h. |
|
Reimplemented from llvm::Instruction. Definition at line 394 of file InstrTypes.h. |
|
Reimplemented from llvm::Value. Definition at line 607 of file InstrTypes.h. |
|
Reimplemented from llvm::Instruction. Definition at line 566 of file InstrTypes.h. |
|
Reimplemented from llvm::Instruction. Definition at line 574 of file InstrTypes.h. |
|
Reimplemented from llvm::Instruction. Definition at line 408 of file InstrTypes.h. |
|
Reimplemented from llvm::Instruction. Definition at line 414 of file InstrTypes.h. |
|
Reimplemented from llvm::Instruction. Definition at line 411 of file InstrTypes.h. |
|
Reimplemented from llvm::Instruction. Definition at line 572 of file InstrTypes.h. |