LLVM API Documentation
#include <InstrTypes.h>


Definition at line 138 of file InstrTypes.h.
| BinaryOperator::BinaryOperator | ( | BinaryOps | iType, |
| Value * | S1, | ||
| Value * | S2, | ||
| Type * | Ty, | ||
| const Twine & | Name, | ||
| Instruction * | InsertBefore | ||
| ) | [protected] |
Definition at line 1732 of file Instructions.cpp.
References init(), and llvm::Value::setName().
Referenced by Create(), CreateFNeg(), CreateNeg(), and CreateNot().
| BinaryOperator::BinaryOperator | ( | BinaryOps | iType, |
| Value * | S1, | ||
| Value * | S2, | ||
| Type * | Ty, | ||
| const Twine & | Name, | ||
| BasicBlock * | InsertAtEnd | ||
| ) | [protected] |
Definition at line 1745 of file Instructions.cpp.
References init(), and llvm::Value::setName().
| static bool llvm::BinaryOperator::classof | ( | const Instruction * | I | ) | [inline, static] |
Definition at line 372 of file InstrTypes.h.
Methods for support type inquiry through isa, cast, and dyn_cast:
Reimplemented from llvm::Instruction.
Definition at line 375 of file InstrTypes.h.
| BinaryOperator * BinaryOperator::clone_impl | ( | ) | const [protected, virtual] |
Implements llvm::Instruction.
Definition at line 3388 of file Instructions.cpp.
References Create(), and getOpcode().
| BinaryOperator * BinaryOperator::Create | ( | BinaryOps | Op, |
| Value * | S1, | ||
| Value * | S2, | ||
| const Twine & | Name = Twine(), |
||
| 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 1834 of file Instructions.cpp.
References BinaryOperator(), llvm::Value::getType(), and Name.
Referenced by clone_impl(), llvm::InstCombiner::commonIDivTransforms(), Create(), llvm::NoFolder::CreateBinOp(), llvm::IRBuilder< true, TargetFolder >::CreateBinOp(), llvm::InstCombiner::FoldSelectIntoOp(), llvm::InstCombiner::FoldSelectOpOp(), llvm::InstCombiner::FoldShiftByConstant(), llvm::ConstantExpr::getAsInstruction(), llvm::InstCombiner::visitAnd(), llvm::InstCombiner::visitExtractElementInst(), llvm::InstCombiner::visitFPTrunc(), llvm::InstCombiner::visitOr(), llvm::InstCombiner::visitXor(), and llvm::InstCombiner::visitZExt().
| BinaryOperator * BinaryOperator::Create | ( | BinaryOps | Op, |
| Value * | S1, | ||
| Value * | S2, | ||
| const Twine & | 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 1842 of file Instructions.cpp.
References Create(), and llvm::BasicBlock::getInstList().
| BinaryOperator * BinaryOperator::CreateFNeg | ( | Value * | Op, |
| const Twine & | Name = "", |
||
| Instruction * | InsertBefore = 0 |
||
| ) | [static] |
Definition at line 1890 of file Instructions.cpp.
References BinaryOperator(), llvm::Value::getType(), llvm::ConstantFP::getZeroValueForNegation(), and Name.
Referenced by llvm::IRBuilder< true, TargetFolder >::CreateFNeg(), llvm::InstCombiner::visitFMul(), and llvm::InstCombiner::visitFPTrunc().
| BinaryOperator * BinaryOperator::CreateFNeg | ( | Value * | Op, |
| const Twine & | Name, | ||
| BasicBlock * | InsertAtEnd | ||
| ) | [static] |
Definition at line 1897 of file Instructions.cpp.
References BinaryOperator(), llvm::Value::getType(), llvm::ConstantFP::getZeroValueForNegation(), and Name.
| BinaryOperator * BinaryOperator::CreateNeg | ( | Value * | Op, |
| const Twine & | Name, | ||
| BasicBlock * | InsertAtEnd | ||
| ) | [static] |
Definition at line 1858 of file Instructions.cpp.
References BinaryOperator(), llvm::Value::getType(), llvm::ConstantFP::getZeroValueForNegation(), and Name.
Referenced by llvm::IRBuilder< true, TargetFolder >::CreateNeg(), NegateValue(), llvm::InstCombiner::visitAdd(), llvm::InstCombiner::visitMul(), llvm::InstCombiner::visitSDiv(), and llvm::InstCombiner::visitSub().
| BinaryOperator * BinaryOperator::CreateNot | ( | Value * | Op, |
| const Twine & | Name = "", |
||
| Instruction * | InsertBefore = 0 |
||
| ) | [static] |
Definition at line 1904 of file Instructions.cpp.
References BinaryOperator(), llvm::Constant::getAllOnesValue(), llvm::Value::getType(), Name, and llvm::APIntOps::Xor().
Referenced by llvm::IRBuilder< true, TargetFolder >::CreateNot(), OptimizeGlobalAddressOfMalloc(), llvm::InstCombiner::visitAnd(), llvm::InstCombiner::visitICmpInst(), llvm::InstCombiner::visitICmpInstWithCastAndCast(), llvm::InstCombiner::visitOr(), and llvm::InstCombiner::visitSub().
| BinaryOperator * BinaryOperator::CreateNot | ( | Value * | Op, |
| const Twine & | Name, | ||
| BasicBlock * | InsertAtEnd | ||
| ) | [static] |
Definition at line 1911 of file Instructions.cpp.
References BinaryOperator(), llvm::Constant::getAllOnesValue(), llvm::Value::getType(), Name, and llvm::APIntOps::Xor().
| BinaryOperator * BinaryOperator::CreateNSWNeg | ( | Value * | Op, |
| const Twine & | Name = "", |
||
| Instruction * | InsertBefore = 0 |
||
| ) | [static] |
Definition at line 1866 of file Instructions.cpp.
References llvm::Value::getType(), and llvm::ConstantFP::getZeroValueForNegation().
| BinaryOperator * BinaryOperator::CreateNSWNeg | ( | Value * | Op, |
| const Twine & | Name, | ||
| BasicBlock * | InsertAtEnd | ||
| ) | [static] |
Definition at line 1872 of file Instructions.cpp.
References llvm::Value::getType(), and llvm::ConstantFP::getZeroValueForNegation().
| BinaryOperator * BinaryOperator::CreateNUWNeg | ( | Value * | Op, |
| const Twine & | Name = "", |
||
| Instruction * | InsertBefore = 0 |
||
| ) | [static] |
Definition at line 1878 of file Instructions.cpp.
References llvm::Value::getType(), and llvm::ConstantFP::getZeroValueForNegation().
| BinaryOperator * BinaryOperator::CreateNUWNeg | ( | Value * | Op, |
| const Twine & | Name, | ||
| BasicBlock * | InsertAtEnd | ||
| ) | [static] |
Definition at line 1884 of file Instructions.cpp.
References llvm::Value::getType(), and llvm::ConstantFP::getZeroValueForNegation().
| llvm::BinaryOperator::DECLARE_TRANSPARENT_OPERAND_ACCESSORS | ( | Value | ) |
Transparently provide more efficient getOperand methods.
Definition at line 1965 of file Instructions.cpp.
Definition at line 1961 of file Instructions.cpp.
References llvm::User::getOperand().
getNegArgument, getNotArgument - Helper functions to extract the unary argument of a NEG, FNEG or NOT operation implemented via Sub, FSub, or Xor.
Definition at line 1957 of file Instructions.cpp.
Definition at line 1953 of file Instructions.cpp.
References llvm::User::getOperand().
Definition at line 1980 of file Instructions.cpp.
Referenced by dyn_castNotVal(), OptimizeAndOrXor(), and llvm::InstCombiner::visitSelectInst().
Definition at line 1969 of file Instructions.cpp.
References llvm::User::getOperand(), isConstantAllOnes(), and isNot().
| BinaryOps llvm::BinaryOperator::getOpcode | ( | ) | const [inline] |
getOpcode() returns a member of one of the enums like Instruction::Add.
Reimplemented from llvm::Instruction.
Definition at line 336 of file InstrTypes.h.
Referenced by clone_impl(), llvm::InstCombiner::commonIDivTransforms(), llvm::expandDivision(), llvm::expandDivisionUpTo32Bits(), llvm::expandRemainder(), llvm::expandRemainderUpTo32Bits(), FactorizeBinOp(), llvm::InstCombiner::FoldICmpDivCst(), llvm::InstCombiner::FoldICmpShrCst(), llvm::InstCombiner::FoldSelectIntoOp(), llvm::InstCombiner::FoldShiftByConstant(), LinearizeExprTree(), MaintainNoSignedWrap(), SimplifyAssociativeBinOp(), SimplifyICmpInst(), llvm::Interpreter::visitBinaryOperator(), llvm::InstCombiner::visitFPTrunc(), llvm::InstCombiner::visitICmpInst(), llvm::InstCombiner::visitICmpInstWithInstAndIntCst(), llvm::InstCombiner::visitMul(), llvm::InstCombiner::visitXor(), and llvm::InstCombiner::visitZExt().
| llvm::BinaryOperator::HANDLE_BINARY_INST | ( | 20 | , |
| Shl | , | ||
| BinaryOperator | |||
| ) |
| llvm::BinaryOperator::HANDLE_BINARY_INST | ( | 20 | , |
| Shl | , | ||
| BinaryOperator | |||
| ) |
| BinaryOperator llvm::BinaryOperator::HANDLE_BINARY_INST | ( | 22 | , |
| AShr | , | ||
| BinaryOperator | |||
| ) |
| BinaryOperator llvm::BinaryOperator::HANDLE_BINARY_INST | ( | 22 | , |
| AShr | , | ||
| BinaryOperator | |||
| ) |
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst ICmpInst PHINode SelectInst Instruction ExtractElementInst ShuffleVectorInst InsertValueInst BinaryOperator llvm::BinaryOperator::HANDLE_BINARY_INST | ( | 21 | , |
| LShr | , | ||
| BinaryOperator | |||
| ) |
| BinaryOperator AllocaInst TruncInst llvm::BinaryOperator::HANDLE_CAST_INST | ( | 34 | , |
| ZExt | , | ||
| ZExtInst | |||
| ) |
| BinaryOperator AllocaInst TruncInst llvm::BinaryOperator::HANDLE_CAST_INST | ( | 34 | , |
| ZExt | , | ||
| ZExtInst | |||
| ) |
| BinaryOperator AllocaInst TruncInst SExtInst llvm::BinaryOperator::HANDLE_CAST_INST | ( | 36 | , |
| FPToUI | , | ||
| FPToUIInst | |||
| ) |
| BinaryOperator AllocaInst TruncInst SExtInst llvm::BinaryOperator::HANDLE_CAST_INST | ( | 36 | , |
| FPToUI | , | ||
| FPToUIInst | |||
| ) |
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst llvm::BinaryOperator::HANDLE_CAST_INST | ( | 38 | , |
| UIToFP | , | ||
| UIToFPInst | |||
| ) |
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst llvm::BinaryOperator::HANDLE_CAST_INST | ( | 38 | , |
| UIToFP | , | ||
| UIToFPInst | |||
| ) |
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst llvm::BinaryOperator::HANDLE_CAST_INST | ( | 40 | , |
| FPTrunc | , | ||
| FPTruncInst | |||
| ) |
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst llvm::BinaryOperator::HANDLE_CAST_INST | ( | 40 | , |
| FPTrunc | , | ||
| FPTruncInst | |||
| ) |
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst llvm::BinaryOperator::HANDLE_CAST_INST | ( | 42 | , |
| PtrToInt | , | ||
| PtrToIntInst | |||
| ) |
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst llvm::BinaryOperator::HANDLE_CAST_INST | ( | 42 | , |
| PtrToInt | , | ||
| PtrToIntInst | |||
| ) |
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst llvm::BinaryOperator::HANDLE_CAST_INST | ( | 44 | , |
| BitCast | , | ||
| BitCastInst | |||
| ) |
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst llvm::BinaryOperator::HANDLE_CAST_INST | ( | 44 | , |
| BitCast | , | ||
| BitCastInst | |||
| ) |
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst ICmpInst PHINode SelectInst Instruction ExtractElementInst ShuffleVectorInst InsertValueInst BinaryOperator BinaryOperator LoadInst llvm::BinaryOperator::HANDLE_CAST_INST | ( | 33 | , |
| Trunc | , | ||
| TruncInst | |||
| ) |
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst ICmpInst PHINode SelectInst Instruction ExtractElementInst ShuffleVectorInst InsertValueInst BinaryOperator BinaryOperator LoadInst ZExtInst llvm::BinaryOperator::HANDLE_CAST_INST | ( | 35 | , |
| SExt | , | ||
| SExtInst | |||
| ) |
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst ICmpInst PHINode SelectInst Instruction ExtractElementInst ShuffleVectorInst InsertValueInst BinaryOperator BinaryOperator LoadInst ZExtInst FPToUIInst llvm::BinaryOperator::HANDLE_CAST_INST | ( | 37 | , |
| FPToSI | , | ||
| FPToSIInst | |||
| ) |
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst ICmpInst PHINode SelectInst Instruction ExtractElementInst ShuffleVectorInst InsertValueInst BinaryOperator BinaryOperator LoadInst ZExtInst FPToUIInst UIToFPInst llvm::BinaryOperator::HANDLE_CAST_INST | ( | 39 | , |
| SIToFP | , | ||
| SIToFPInst | |||
| ) |
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst ICmpInst PHINode SelectInst Instruction ExtractElementInst ShuffleVectorInst InsertValueInst BinaryOperator BinaryOperator LoadInst ZExtInst FPToUIInst UIToFPInst FPTruncInst llvm::BinaryOperator::HANDLE_CAST_INST | ( | 41 | , |
| FPExt | , | ||
| FPExtInst | |||
| ) |
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst ICmpInst PHINode SelectInst Instruction ExtractElementInst ShuffleVectorInst InsertValueInst BinaryOperator BinaryOperator LoadInst ZExtInst FPToUIInst UIToFPInst FPTruncInst PtrToIntInst llvm::BinaryOperator::HANDLE_CAST_INST | ( | 43 | , |
| IntToPtr | , | ||
| IntToPtrInst | |||
| ) |
| BinaryOperator AllocaInst llvm::BinaryOperator::HANDLE_MEMORY_INST | ( | 27 | , |
| Load | , | ||
| LoadInst | |||
| ) |
| BinaryOperator AllocaInst llvm::BinaryOperator::HANDLE_MEMORY_INST | ( | 27 | , |
| Load | , | ||
| LoadInst | |||
| ) |
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst ICmpInst PHINode SelectInst Instruction ExtractElementInst ShuffleVectorInst InsertValueInst BinaryOperator BinaryOperator llvm::BinaryOperator::HANDLE_MEMORY_INST | ( | 26 | , |
| Alloca | , | ||
| AllocaInst | |||
| ) |
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst ICmpInst llvm::BinaryOperator::HANDLE_OTHER_INST | ( | 46 | , |
| FCmp | , | ||
| FCmpInst | |||
| ) |
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst ICmpInst llvm::BinaryOperator::HANDLE_OTHER_INST | ( | 46 | , |
| FCmp | , | ||
| FCmpInst | |||
| ) |
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst ICmpInst PHINode llvm::BinaryOperator::HANDLE_OTHER_INST | ( | 48 | , |
| Call | , | ||
| CallInst | |||
| ) |
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst ICmpInst PHINode llvm::BinaryOperator::HANDLE_OTHER_INST | ( | 48 | , |
| Call | , | ||
| CallInst | |||
| ) |
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst ICmpInst PHINode SelectInst llvm::BinaryOperator::HANDLE_OTHER_INST | ( | 50 | , |
| UserOp1 | , | ||
| Instruction | |||
| ) |
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst ICmpInst PHINode SelectInst llvm::BinaryOperator::HANDLE_OTHER_INST | ( | 50 | , |
| UserOp1 | , | ||
| Instruction | |||
| ) |
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst ICmpInst PHINode SelectInst Instruction llvm::BinaryOperator::HANDLE_OTHER_INST | ( | 52 | , |
| VAArg | , | ||
| VAArgInst | |||
| ) |
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst ICmpInst PHINode SelectInst Instruction llvm::BinaryOperator::HANDLE_OTHER_INST | ( | 52 | , |
| VAArg | , | ||
| VAArgInst | |||
| ) |
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst ICmpInst PHINode SelectInst Instruction ExtractElementInst llvm::BinaryOperator::HANDLE_OTHER_INST | ( | 54 | , |
| InsertElement | , | ||
| InsertElementInst | |||
| ) |
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst ICmpInst PHINode SelectInst Instruction ExtractElementInst llvm::BinaryOperator::HANDLE_OTHER_INST | ( | 54 | , |
| InsertElement | , | ||
| InsertElementInst | |||
| ) |
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst ICmpInst PHINode SelectInst Instruction ExtractElementInst ShuffleVectorInst llvm::BinaryOperator::HANDLE_OTHER_INST | ( | 56 | , |
| ExtractValue | , | ||
| ExtractValueInst | |||
| ) |
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst ICmpInst PHINode SelectInst Instruction ExtractElementInst ShuffleVectorInst llvm::BinaryOperator::HANDLE_OTHER_INST | ( | 56 | , |
| ExtractValue | , | ||
| ExtractValueInst | |||
| ) |
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst ICmpInst PHINode SelectInst Instruction ExtractElementInst ShuffleVectorInst InsertValueInst llvm::BinaryOperator::HANDLE_OTHER_INST | ( | 58 | , |
| LandingPad | , | ||
| LandingPadInst | |||
| ) |
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst ICmpInst PHINode SelectInst Instruction ExtractElementInst ShuffleVectorInst InsertValueInst llvm::BinaryOperator::HANDLE_OTHER_INST | ( | 58 | , |
| LandingPad | , | ||
| LandingPadInst | |||
| ) |
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst ICmpInst PHINode SelectInst Instruction ExtractElementInst ShuffleVectorInst InsertValueInst BinaryOperator BinaryOperator LoadInst ZExtInst FPToUIInst UIToFPInst FPTruncInst PtrToIntInst BitCastInst llvm::BinaryOperator::HANDLE_OTHER_INST | ( | 45 | , |
| ICmp | , | ||
| ICmpInst | |||
| ) |
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst ICmpInst PHINode SelectInst Instruction ExtractElementInst ShuffleVectorInst InsertValueInst BinaryOperator BinaryOperator LoadInst ZExtInst FPToUIInst UIToFPInst FPTruncInst PtrToIntInst BitCastInst FCmpInst llvm::BinaryOperator::HANDLE_OTHER_INST | ( | 47 | , |
| PHI | , | ||
| PHINode | |||
| ) |
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst ICmpInst PHINode SelectInst Instruction ExtractElementInst ShuffleVectorInst InsertValueInst BinaryOperator BinaryOperator LoadInst ZExtInst FPToUIInst UIToFPInst FPTruncInst PtrToIntInst BitCastInst FCmpInst CallInst llvm::BinaryOperator::HANDLE_OTHER_INST | ( | 49 | , |
| Select | , | ||
| SelectInst | |||
| ) |
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst ICmpInst PHINode SelectInst Instruction ExtractElementInst ShuffleVectorInst InsertValueInst BinaryOperator BinaryOperator LoadInst ZExtInst FPToUIInst UIToFPInst FPTruncInst PtrToIntInst BitCastInst FCmpInst CallInst Instruction llvm::BinaryOperator::HANDLE_OTHER_INST | ( | 51 | , |
| UserOp2 | , | ||
| Instruction | |||
| ) |
| bool BinaryOperator::hasNoSignedWrap | ( | ) | const |
hasNoSignedWrap - Determine whether the no signed wrap flag is set.
Definition at line 2013 of file Instructions.cpp.
Referenced by llvm::InstCombiner::FoldSelectIntoOp(), llvm::InstCombiner::FoldShiftByConstant(), patchReplacementInstruction(), SimplifyICmpInst(), llvm::InstCombiner::visitAdd(), llvm::InstCombiner::visitICmpInst(), llvm::InstCombiner::visitMul(), llvm::InstCombiner::visitShl(), and llvm::InstCombiner::visitSub().
| bool BinaryOperator::hasNoUnsignedWrap | ( | ) | const |
hasNoUnsignedWrap - Determine whether the no unsigned wrap flag is set.
Definition at line 2009 of file Instructions.cpp.
Referenced by llvm::InstCombiner::FoldSelectIntoOp(), llvm::InstCombiner::FoldShiftByConstant(), patchReplacementInstruction(), SimplifyICmpInst(), llvm::InstCombiner::visitAdd(), llvm::InstCombiner::visitICmpInst(), llvm::InstCombiner::visitMul(), llvm::InstCombiner::visitShl(), and llvm::InstCombiner::visitSub().
| void BinaryOperator::init | ( | BinaryOps | iType | ) | [protected] |
Definition at line 1759 of file Instructions.cpp.
References llvm::APIntOps::And(), AShr, llvm::User::getOperand(), llvm::Value::getType(), LShr, llvm::APIntOps::Or(), Shl, and llvm::APIntOps::Xor().
Referenced by BinaryOperator().
| bool BinaryOperator::isExact | ( | ) | const |
isExact - Determine whether the exact flag is set.
Definition at line 2017 of file Instructions.cpp.
Referenced by llvm::InstCombiner::FoldICmpDivCst(), llvm::InstCombiner::FoldICmpShrCst(), llvm::InstCombiner::FoldSelectIntoOp(), llvm::InstCombiner::FoldShiftByConstant(), SimplifyICmpInst(), llvm::InstCombiner::visitAShr(), llvm::InstCombiner::visitICmpInst(), llvm::InstCombiner::visitICmpInstWithInstAndIntCst(), llvm::InstCombiner::visitLShr(), llvm::InstCombiner::visitSDiv(), and llvm::InstCombiner::visitUDiv().
Definition at line 1934 of file Instructions.cpp.
References llvm::Instruction::hasNoSignedZeros().
Referenced by llvm::getComplexity(), llvm::FastISel::SelectOperator(), llvm::InstCombiner::visitFMul(), and llvm::InstCombiner::visitFPTrunc().
isNeg, isFNeg, isNot - Check if the given Value is a NEG, FNeg, or NOT instruction.
Definition at line 1926 of file Instructions.cpp.
Referenced by llvm::getComplexity(), LinearizeExprTree(), NegateValue(), and ShouldBreakUpSubtract().
Definition at line 1945 of file Instructions.cpp.
References isConstantAllOnes(), and llvm::APIntOps::Xor().
Referenced by dyn_castNotVal(), llvm::getComplexity(), getNotArgument(), isFreeToInvert(), OptimizeAndOrXor(), and llvm::InstCombiner::visitSelectInst().
| void* llvm::BinaryOperator::operator new | ( | size_t | s | ) | [inline] |
Reimplemented from llvm::User.
Definition at line 149 of file InstrTypes.h.
setHasNoSignedWrap - Set or clear the nsw flag on this instruction, which must be an operator which supports this flag. See LangRef.html for the meaning of this flag.
Definition at line 2001 of file Instructions.cpp.
Referenced by llvm::NoFolder::CreateAdd(), llvm::NoFolder::CreateMul(), llvm::NoFolder::CreateNeg(), llvm::NoFolder::CreateShl(), llvm::NoFolder::CreateSub(), llvm::InstCombiner::FoldShiftByConstant(), llvm::ConstantExpr::getAsInstruction(), GetShiftedValue(), patchReplacementInstruction(), llvm::InstCombiner::visitAdd(), llvm::InstCombiner::visitShl(), and llvm::InstCombiner::visitSub().
setHasNoUnsignedWrap - Set or clear the nsw flag on this instruction, which must be an operator which supports this flag. See LangRef.html for the meaning of this flag.
Definition at line 1997 of file Instructions.cpp.
Referenced by llvm::NoFolder::CreateAdd(), llvm::NoFolder::CreateMul(), llvm::NoFolder::CreateNeg(), llvm::NoFolder::CreateShl(), llvm::NoFolder::CreateSub(), llvm::InstCombiner::FoldShiftByConstant(), llvm::ConstantExpr::getAsInstruction(), GetShiftedValue(), llvm::InstCombiner::visitAdd(), llvm::InstCombiner::visitShl(), and llvm::InstCombiner::visitSub().
setIsExact - Set or clear the exact flag on this instruction, which must be an operator which supports this flag. See LangRef.html for the meaning of this flag.
Definition at line 2005 of file Instructions.cpp.
Referenced by llvm::InstCombiner::FoldSelectIntoOp(), llvm::InstCombiner::FoldShiftByConstant(), llvm::ConstantExpr::getAsInstruction(), GetShiftedValue(), llvm::InstCombiner::visitAShr(), llvm::InstCombiner::visitLShr(), and llvm::InstCombiner::visitUDiv().
| 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 1990 of file Instructions.cpp.
References llvm::Instruction::isCommutative(), and llvm::swap().
Referenced by llvm::InstCombiner::visitXor().
Definition at line 133 of file InstrTypes.h.
Definition at line 332 of file InstrTypes.h.
Referenced by init().
Definition at line 364 of file InstrTypes.h.
Definition at line 372 of file InstrTypes.h.
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst ICmpInst PHINode SelectInst Instruction llvm::BinaryOperator::ExtractElement |
Definition at line 170 of file InstrTypes.h.
Definition at line 380 of file InstrTypes.h.
Definition at line 370 of file InstrTypes.h.
Definition at line 154 of file InstrTypes.h.
Definition at line 150 of file InstrTypes.h.
Definition at line 356 of file InstrTypes.h.
Definition at line 360 of file InstrTypes.h.
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst llvm::BinaryOperator::ICmp |
Definition at line 162 of file InstrTypes.h.
Definition at line 378 of file InstrTypes.h.
Definition at line 174 of file InstrTypes.h.
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst llvm::BinaryOperator::IntToPtr |
Definition at line 156 of file InstrTypes.h.
Definition at line 382 of file InstrTypes.h.
Definition at line 341 of file InstrTypes.h.
Definition at line 124 of file InstrTypes.h.
Referenced by init().
Reimplemented from llvm::Value.
Definition at line 205 of file InstrTypes.h.
Referenced by Create(), CreateFNeg(), CreateNeg(), and CreateNot().
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst ICmpInst llvm::BinaryOperator::PHI |
Definition at line 164 of file InstrTypes.h.
Definition at line 362 of file InstrTypes.h.
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst ICmpInst PHINode llvm::BinaryOperator::Select |
Definition at line 166 of file InstrTypes.h.
Definition at line 148 of file InstrTypes.h.
Definition at line 330 of file InstrTypes.h.
Referenced by init().
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst ICmpInst PHINode SelectInst Instruction ExtractElementInst llvm::BinaryOperator::ShuffleVector |
Definition at line 172 of file InstrTypes.h.
Definition at line 152 of file InstrTypes.h.
Definition at line 146 of file InstrTypes.h.
Definition at line 358 of file InstrTypes.h.
Definition at line 374 of file InstrTypes.h.
| BinaryOperator AllocaInst TruncInst SExtInst FPToSIInst SIToFPInst FPExtInst IntToPtrInst ICmpInst PHINode SelectInst llvm::BinaryOperator::UserOp2 |
Definition at line 168 of file InstrTypes.h.
Definition at line 204 of file InstrTypes.h.
Definition at line 204 of file InstrTypes.h.
Definition at line 376 of file InstrTypes.h.
Definition at line 354 of file InstrTypes.h.