|
LLVM
4.0.0
|
Functions | |
| const APInt & | smin (const APInt &A, const APInt &B) |
| Determine the smaller of two APInts considered to be signed. More... | |
| const APInt & | smax (const APInt &A, const APInt &B) |
| Determine the larger of two APInts considered to be signed. More... | |
| const APInt & | umin (const APInt &A, const APInt &B) |
| Determine the smaller of two APInts considered to be signed. More... | |
| const APInt & | umax (const APInt &A, const APInt &B) |
| Determine the larger of two APInts considered to be unsigned. More... | |
| bool | isIntN (unsigned N, const APInt &APIVal) |
| Check if the specified APInt has a N-bits unsigned integer value. More... | |
| bool | isSignedIntN (unsigned N, const APInt &APIVal) |
| Check if the specified APInt has a N-bits signed integer value. More... | |
| bool | isMask (unsigned numBits, const APInt &APIVal) |
| bool | isMask (const APInt &Value) |
| bool | isShiftedMask (unsigned numBits, const APInt &APIVal) |
| Return true if the argument APInt value contains a sequence of ones with the remainder zero. More... | |
| APInt | byteSwap (const APInt &APIVal) |
| Returns a byte-swapped representation of the specified APInt Value. More... | |
| unsigned | logBase2 (const APInt &APIVal) |
| Returns the floor log base 2 of the specified APInt value. More... | |
| APInt | GreatestCommonDivisor (const APInt &Val1, const APInt &Val2) |
| Compute GCD of two APInt values. More... | |
| double | RoundAPIntToDouble (const APInt &APIVal) |
| Converts the given APInt to a double value. More... | |
| double | RoundSignedAPIntToDouble (const APInt &APIVal) |
| Converts the given APInt to a double value. More... | |
| float | RoundAPIntToFloat (const APInt &APIVal) |
| Converts the given APInt to a float vlalue. More... | |
| float | RoundSignedAPIntToFloat (const APInt &APIVal) |
| Converts the given APInt to a float value. More... | |
| APInt | RoundDoubleToAPInt (double Double, unsigned width) |
| Converts the given double value into a APInt. More... | |
| APInt | RoundFloatToAPInt (float Float, unsigned width) |
| Converts a float value into a APInt. More... | |
| APInt | ashr (const APInt &LHS, unsigned shiftAmt) |
| Arithmetic right-shift function. More... | |
| APInt | lshr (const APInt &LHS, unsigned shiftAmt) |
| Logical right-shift function. More... | |
| APInt | shl (const APInt &LHS, unsigned shiftAmt) |
| Left-shift function. More... | |
| APInt | sdiv (const APInt &LHS, const APInt &RHS) |
| Signed division function for APInt. More... | |
| APInt | udiv (const APInt &LHS, const APInt &RHS) |
| Unsigned division function for APInt. More... | |
| APInt | srem (const APInt &LHS, const APInt &RHS) |
| Function for signed remainder operation. More... | |
| APInt | urem (const APInt &LHS, const APInt &RHS) |
| Function for unsigned remainder operation. More... | |
| APInt | mul (const APInt &LHS, const APInt &RHS) |
| Function for multiplication operation. More... | |
| APInt | add (const APInt &LHS, const APInt &RHS) |
| Function for addition operation. More... | |
| APInt | sub (const APInt &LHS, const APInt &RHS) |
| Function for subtraction operation. More... | |
| APInt | And (const APInt &LHS, const APInt &RHS) |
| Bitwise AND function for APInt. More... | |
| APInt | Or (const APInt &LHS, const APInt &RHS) |
| Bitwise OR function for APInt. More... | |
| APInt | Xor (const APInt &LHS, const APInt &RHS) |
| Bitwise XOR function for APInt. More... | |
| APInt | Not (const APInt &APIVal) |
| Bitwise complement function. More... | |
Bitwise AND function for APInt.
Performs bitwise AND operation on APInt LHS and APInt RHS.
Definition at line 1942 of file APInt.h.
Referenced by llvm::ConstantRange::binaryOp(), buildNew(), canEvaluateSExtd(), CanEvaluateShifted(), CanEvaluateShuffled(), canEvaluateTruncated(), canEvaluateZExtd(), collectBitParts(), collectFailStats(), collectValuesToDemote(), computeKnownBitsFromOperator(), ComputeNumSignBits(), llvm::ComputeSpeculationCost(), llvm::JumpThreadingPass::ComputeValueKnownInPredecessors(), llvm::ConstantFoldBinaryInstruction(), llvm::ConstantFoldCompareInstOperands(), llvm::SystemZInstrInfo::convertToThreeAddress(), createReplacementInstr(), detectPopcountIdiom(), llvm::AlignmentFromAssumptionsPass::extractAlignmentInfo(), ExtractConstantBytes(), FindLIVLoopCondition(), llvm::SelectionDAGBuilder::FindMergedConditions(), llvm::FoldBranchToCommonDest(), foldMaskAndShiftToExtract(), llvm::InstCombiner::FoldOrOfICmps(), llvm::InstCombiner::FoldShiftByConstant(), llvm::ConstantExpr::get(), llvm::ConstantExpr::getAnd(), llvm::objcarc::GetARCInstKind(), llvm::ConstantExpr::getBinOpAbsorber(), llvm::ConstantExpr::getBinOpIdentity(), llvm::ExecutionEngine::getConstantValue(), getDarwinBinOpPrecedence(), getDecodedBinaryOpcode(), getDecodedRMWOperation(), getEncodedBinaryOpcode(), getGNUBinOpPrecedence(), llvm::SystemZTTIImpl::getIntImmCost(), llvm::PPCTTIImpl::getIntImmCost(), llvm::AArch64TTIImpl::getIntImmCost(), llvm::ARMTTIImpl::getIntImmCost(), llvm::X86TTIImpl::getIntImmCost(), llvm::Instruction::getOpcodeName(), llvm::RecurrenceDescriptor::getRecurrenceBinOp(), getSelectFoldableConstant(), getSelectFoldableOperands(), GetShiftedValue(), getValueFromConditionImpl(), llvm::BinaryOperator::init(), llvm::TargetLoweringBase::InstructionOpcodeToISD(), llvm::Instruction::isAssociative(), llvm::Instruction::isBitwiseLogicOp(), llvm::Instruction::isCommutative(), isExtractBitsCandidateUse(), llvm::Instruction::isIdempotent(), llvm::RecurrenceDescriptor::isRecurrenceInstr(), isVectorReductionOp(), LeftDistributesOverRight(), llvm::GVN::ValueTable::lookupOrAdd(), llvm::AsmPrinter::lowerConstant(), llvm::AMDGPUTargetLowering::LowerFCEIL(), llvm::AMDGPUTargetLowering::LowerFFLOOR(), MatchBinaryOp(), matchDeMorgansLaws(), OptimizeAndOrXor(), llvm::ARMTargetLowering::PerformCMOVToBFICombine(), processUMulZExtIdiom(), RightDistributesOverLeft(), llvm::FastISel::selectOperator(), shouldSpeculateInstrs(), SimplifyAndInst(), SimplifyBinOp(), llvm::SimplifyInstruction(), SimplifyOrInst(), llvm::TargetLowering::SimplifySetCC(), tryBitfieldInsertOpFromOrAndImm(), tryLowerToSLI(), llvm::Interpreter::visitBinaryOperator(), llvm::InstCombiner::visitXor(), llvm::InstCombiner::visitZExt(), and llvm::reassociate::XorOpnd::XorOpnd().
Arithmetic right-shift function.
Arithmetic right-shift the APInt by shiftAmt.
Definition at line 1885 of file APInt.h.
References llvm::APInt::ashr().
Referenced by computeKnownBitsFromOperator(), and llvm::APSInt::operator>>().
Returns a byte-swapped representation of the specified APInt Value.
Definition at line 1831 of file APInt.h.
References llvm::APInt::byteSwap().
Check if the specified APInt has a N-bits unsigned integer value.
Definition at line 1803 of file APInt.h.
References llvm::APInt::isIntN().
Referenced by adjust::signed_width().
Definition at line 1812 of file APInt.h.
References llvm::APInt::getBitWidth(), and llvm::APInt::getLowBitsSet().
Referenced by isShiftedMask().
Return true if the argument APInt value contains a sequence of ones with the remainder zero.
Definition at line 1826 of file APInt.h.
References isMask().
Referenced by isRunOfOnes().
Check if the specified APInt has a N-bits signed integer value.
Definition at line 1806 of file APInt.h.
References llvm::APInt::isSignedIntN().
Returns the floor log base 2 of the specified APInt value.
Definition at line 1834 of file APInt.h.
References llvm::APInt::logBase2().
Referenced by llvm::APInt::exactLogBase2(), and llvm::APInt::nearestLogBase2().
Logical right-shift function.
Logical right-shift the APInt by shiftAmt.
Definition at line 1892 of file APInt.h.
References llvm::APInt::lshr().
Referenced by computeKnownBitsFromOperator(), llvm::APInt::getHiBits(), llvm::APInt::getLoBits(), llvm::APSInt::operator>>(), and SolveLinEquationWithOverflow().
Bitwise complement function.
Performs a bitwise complement operation on APInt.
Definition at line 1957 of file APInt.h.
Referenced by llvm::AMDGPUTargetLowering::LowerFTRUNC(), llvm::InstCombiner::visitICmpInst(), and llvm::InstCombiner::visitOr().
Bitwise OR function for APInt.
Performs bitwise OR operation on APInt LHS and APInt RHS.
Definition at line 1947 of file APInt.h.
Referenced by llvm::ConstantRange::binaryOp(), llvm::X86TargetLowering::BuildFILD(), buildNew(), canEvaluateSExtd(), CanEvaluateShifted(), CanEvaluateShuffled(), canEvaluateTruncated(), canEvaluateZExtd(), collectBitParts(), collectFailStats(), collectInsertionElements(), collectValuesToDemote(), combineVSelectWithAllOnesOrZeros(), computeKnownBitsFromOperator(), ComputeNumSignBits(), llvm::ComputeSpeculationCost(), llvm::JumpThreadingPass::ComputeValueKnownInPredecessors(), llvm::ConstantFoldBinaryInstruction(), llvm::ConstantFoldCompareInstOperands(), createReplacementInstr(), ExtractConstantBytes(), FindLIVLoopCondition(), llvm::SelectionDAGBuilder::FindMergedConditions(), llvm::FoldBranchToCommonDest(), llvm::InstCombiner::FoldShiftByConstant(), llvm::ConstantExpr::get(), llvm::objcarc::GetARCInstKind(), llvm::ConstantExpr::getBinOpAbsorber(), llvm::ConstantExpr::getBinOpIdentity(), llvm::ExecutionEngine::getConstantValue(), getDarwinBinOpPrecedence(), getDecodedBinaryOpcode(), getDecodedRMWOperation(), getEncodedBinaryOpcode(), getGNUBinOpPrecedence(), llvm::SystemZTTIImpl::getIntImmCost(), llvm::PPCTTIImpl::getIntImmCost(), llvm::AArch64TTIImpl::getIntImmCost(), llvm::X86TTIImpl::getIntImmCost(), llvm::Instruction::getOpcodeName(), llvm::ConstantExpr::getOr(), llvm::RecurrenceDescriptor::getRecurrenceBinOp(), getSelectFoldableConstant(), getSelectFoldableOperands(), GetShiftedValue(), llvm::BinaryOperator::init(), llvm::TargetLoweringBase::InstructionOpcodeToISD(), llvm::Instruction::isAssociative(), llvm::Instruction::isBitwiseLogicOp(), llvm::Instruction::isCommutative(), llvm::Instruction::isIdempotent(), llvm::RecurrenceDescriptor::isRecurrenceInstr(), isVectorReductionOp(), LeftDistributesOverRight(), llvm::GVN::ValueTable::lookupOrAdd(), llvm::HexagonTargetLowering::LowerCONCAT_VECTORS(), llvm::AsmPrinter::lowerConstant(), LowerFCOPYSIGN(), lowerFCOPYSIGN64(), MatchBinaryOp(), matchDeMorgansLaws(), OptimizeAndOrXor(), llvm::recognizeBSwapOrBitReverseIdiom(), llvm::X86TargetLowering::ReplaceNodeResults(), RightDistributesOverLeft(), llvm::FastISel::selectOperator(), shouldSpeculateInstrs(), SimplifyAndInst(), SimplifyBinOp(), SimplifyBranchOnICmpChain(), llvm::SimplifyInstruction(), SimplifyOrInst(), llvm::LoopVersioning::versionLoop(), llvm::InstCombiner::visitAnd(), llvm::Interpreter::visitBinaryOperator(), llvm::InstCombiner::visitOr(), llvm::InstCombiner::visitXor(), llvm::InstCombiner::visitZExt(), and llvm::reassociate::XorOpnd::XorOpnd().
|
inline |
Converts the given APInt to a double value.
Treats the APInt as an unsigned value for conversion purposes.
Definition at line 1847 of file APInt.h.
References llvm::APInt::roundToDouble().
Referenced by RoundAPIntToFloat().
|
inline |
Converts the given APInt to a float vlalue.
Definition at line 1859 of file APInt.h.
References RoundAPIntToDouble().
Converts the given double value into a APInt.
This function convert a double value to an APInt value.
Definition at line 812 of file APInt.cpp.
References D, I, llvm::APInt::shl(), and T.
Referenced by llvm::ExecutionEngine::getConstantValue(), and RoundFloatToAPInt().
Converts a float value into a APInt.
Converts a float value into an APInt value.
Definition at line 1878 of file APInt.h.
References RoundDoubleToAPInt().
Referenced by llvm::ExecutionEngine::getConstantValue().
|
inline |
Converts the given APInt to a double value.
Treats the APInt as a signed value for conversion purposes.
Definition at line 1854 of file APInt.h.
References llvm::APInt::signedRoundToDouble().
|
inline |
Converts the given APInt to a float value.
Treast the APInt as a signed value for conversion purposes.
Definition at line 1866 of file APInt.h.
References llvm::APInt::signedRoundToDouble().
Signed division function for APInt.
Signed divide APInt LHS by APInt RHS.
Definition at line 1906 of file APInt.h.
References llvm::APInt::sdiv().
Referenced by llvm::APSInt::operator/(), llvm::APSInt::operator/=(), SolveQuadraticEquation(), and llvm::Interpreter::visitBinaryOperator().
Left-shift function.
Left-shift the APInt by shiftAmt.
Definition at line 1899 of file APInt.h.
References llvm::APInt::shl().
Referenced by llvm::APInt::getLoBits(), insertInteger(), llvm::APInt::operator<<(), and llvm::APInt::operator<<=().
Determine the larger of two APInts considered to be signed.
Definition at line 1788 of file APInt.h.
References B, and llvm::APInt::sgt().
Referenced by llvm::ScalarEvolution::getSMaxExpr(), and llvm::ConstantRange::smax().
Determine the smaller of two APInts considered to be signed.
Definition at line 1783 of file APInt.h.
References B, and llvm::APInt::slt().
Referenced by llvm::ConstantRange::smin().
Function for signed remainder operation.
Signed remainder operation on APInt.
Definition at line 1916 of file APInt.h.
References llvm::APInt::srem().
Referenced by llvm::APSInt::operator%(), llvm::APSInt::operator%=(), and llvm::Interpreter::visitBinaryOperator().
Unsigned division function for APInt.
Unsigned divide APInt LHS by APInt RHS.
Definition at line 1911 of file APInt.h.
References llvm::APInt::udiv().
Referenced by llvm::SCEVAddRecExpr::getNumIterationsInRange(), llvm::APSInt::operator/(), llvm::APSInt::operator/=(), and llvm::Interpreter::visitBinaryOperator().
Determine the larger of two APInts considered to be unsigned.
Definition at line 1798 of file APInt.h.
References B, and llvm::APInt::ugt().
Referenced by llvm::ConstantRange::binaryOr(), llvm::ScalarEvolution::getUMaxExpr(), and llvm::ConstantRange::umax().
Determine the smaller of two APInts considered to be signed.
Definition at line 1793 of file APInt.h.
References B, and llvm::APInt::ult().
Referenced by llvm::ConstantRange::binaryAnd(), and llvm::ConstantRange::umin().
Function for unsigned remainder operation.
Unsigned remainder operation on APInt.
Definition at line 1921 of file APInt.h.
References llvm::APInt::urem().
Referenced by GreatestCommonDivisor(), llvm::APSInt::operator%(), llvm::APSInt::operator%=(), and llvm::Interpreter::visitBinaryOperator().
Bitwise XOR function for APInt.
Performs bitwise XOR operation on APInt.
Definition at line 1952 of file APInt.h.
Referenced by buildNew(), canEvaluateSExtd(), CanEvaluateShifted(), CanEvaluateShuffled(), canEvaluateTruncated(), canEvaluateZExtd(), collectFailStats(), collectValuesToDemote(), computeKnownBitsFromOperator(), ComputeNumSignBits(), llvm::ComputeSpeculationCost(), llvm::JumpThreadingPass::ComputeValueKnownInPredecessors(), llvm::ConstantFoldBinaryInstruction(), llvm::BinaryOperator::CreateNot(), createReplacementInstr(), llvm::InstCombiner::FoldOrOfICmps(), llvm::InstCombiner::FoldOrWithConstants(), llvm::InstCombiner::FoldShiftByConstant(), llvm::InstCombiner::FoldXorWithConstants(), llvm::ConstantExpr::get(), llvm::objcarc::GetARCInstKind(), llvm::ConstantExpr::getBinOpIdentity(), llvm::ExecutionEngine::getConstantValue(), getDarwinBinOpPrecedence(), getDecodedBinaryOpcode(), getDecodedRMWOperation(), getEncodedBinaryOpcode(), getGNUBinOpPrecedence(), llvm::SystemZTTIImpl::getIntImmCost(), llvm::PPCTTIImpl::getIntImmCost(), llvm::AArch64TTIImpl::getIntImmCost(), llvm::X86TTIImpl::getIntImmCost(), llvm::ConstantExpr::getNot(), llvm::Instruction::getOpcodeName(), llvm::RecurrenceDescriptor::getRecurrenceBinOp(), getSelectFoldableConstant(), getSelectFoldableOperands(), GetShiftedValue(), llvm::ConstantExpr::getXor(), llvm::BinaryOperator::init(), llvm::TargetLoweringBase::InstructionOpcodeToISD(), llvm::Instruction::isAssociative(), llvm::Instruction::isBitwiseLogicOp(), llvm::Instruction::isCommutative(), llvm::Instruction::isNilpotent(), llvm::BinaryOperator::isNot(), llvm::RecurrenceDescriptor::isRecurrenceInstr(), isVectorReductionOp(), LeftDistributesOverRight(), llvm::GVN::ValueTable::lookupOrAdd(), llvm::AsmPrinter::lowerConstant(), llvm::PatternMatch::not_match< LHS_t >::match(), MatchBinaryOp(), OptimizeAndOrXor(), llvm::JumpThreadingPass::ProcessBlock(), llvm::propagatesFullPoison(), RightDistributesOverLeft(), llvm::FastISel::selectOperator(), shouldSpeculateInstrs(), SimplifyAndInst(), SimplifyBinOp(), llvm::TargetLowering::SimplifyDemandedBits(), llvm::SimplifyInstruction(), SimplifyXorInst(), llvm::InstCombiner::visitAnd(), llvm::Interpreter::visitBinaryOperator(), llvm::InstCombiner::visitOr(), and llvm::InstCombiner::visitXor().
1.8.6