Home
last modified time | relevance | path

Searched refs:isExact (Results 1 – 25 of 51) sorted by relevance

123

/freebsd/contrib/llvm-project/lld/Common/
H A DStrings.cpp22 static bool isExact(StringRef Pattern) { in isExact() function
28 : ExactMatch(isExact(Pattern)) { in SingleStringMatcher()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineShifts.cpp159 NewShift->setIsExact(Sh0->isExact() && Sh1->isExact()); in reassociateShiftAmtsOfTwoSameDirectionShifts()
451 NewShiftOp->setIsExact(I.isExact()); in commonShiftTransforms()
477 return I.isExact() && AC->eq(AC->shl(PosOffset).lshr(PosOffset)); in commonShiftTransforms()
479 return I.isExact() && AC->eq(AC->shl(PosOffset).ashr(PosOffset)); in commonShiftTransforms()
799 R->setIsExact(I.isExact() && BO0->isExact()); in FoldShiftByConstant()
989 if (I.isExact()) in setShiftFlags()
1130 NewShr->setIsExact(OldShr->isExact()); in visitShl()
1279 if (Value *V = simplifyLShrInst(I.getOperand(0), I.getOperand(1), I.isExact(), in visitLShr()
1302 if (I.isExact() && in visitLShr()
1319 if (I.isExact() && in visitLShr()
[all …]
H A DInstCombineMulDivRem.cpp77 if (I->getOpcode() == Instruction::LShr && !I->isExact()) { in simplifyValueKnownNonZero()
433 if (Div->isExact()) { in visitMul()
1212 return Builder.CreateLShr(Y, Z, "", I.isExact()); in foldIDivShl()
1217 return Builder.CreateSDiv(Y, Shl, "", I.isExact()); in foldIDivShl()
1235 return Builder.CreateUDiv(X, Y, "", I.isExact()); in foldIDivShl()
1241 return Builder.CreateSDiv(X, Y, "", I.isExact()); in foldIDivShl()
1262 return Builder.CreateLShr(Dividend, Z, "", I.isExact()); in foldIDivShl()
1347 NewDiv->setIsExact(I.isExact()); in commonIDivTransforms()
1373 BO->setIsExact(I.isExact()); in commonIDivTransforms()
1466 NewDiv->setIsExact(I.isExact()); in commonIDivTransforms()
[all …]
H A DInstCombineSimplifyDemanded.cpp849 LShr->setIsExact(cast<BinaryOperator>(I)->isExact()); in SimplifyDemandedUseBits()
856 ShiftAmt != 0, I->isExact()); in SimplifyDemandedUseBits()
878 cast<BinaryOperator>(I)->isExact()); in SimplifyDemandedUseBits()
1374 if (cast<BinaryOperator>(Shr)->isExact()) in simplifyShrShlDemandedBits()
H A DInstCombineNegator.cpp284 NewInstr->setIsExact(I->isExact()); in visitImpl()
H A DInstCombineCompares.cpp2512 if (Cmp.isEquality() && Shr->isExact() && C.isZero()) in foldICmpShrConstant()
2558 bool IsExact = Shr->isExact(); in foldICmpShrConstant()
2644 if (Shr->isExact()) in foldICmpShrConstant()
2850 APInt RangeSize = Div->isExact() ? APInt(C2->getBitWidth(), 1) : *C2; in foldICmpDivConstant()
2891 if (Div->isExact()) in foldICmpDivConstant()
3730 if (BO->isExact()) { in foldICmpBinOpEqualityWithConstant()
5585 if (I.isSigned() || !BO0->isExact() || !BO1->isExact()) in foldICmpBinOp()
5591 !BO0->isExact() || !BO1->isExact()) in foldICmpBinOp()
5596 if (!BO0->isExact() || !BO1->isExact()) in foldICmpBinOp()
H A DInstCombineCasts.cpp55 Res->setIsExact(I->isExact()); in EvaluateInDifferentType()
680 bool IsExact = OldShift->isExact(); in narrowBinOp()
862 bool IsExact = OldSh->isExact(); in visitTrunc()
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DSimplifyQuery.h49 bool isExact(const BinaryOperator *Op) const { in isExact() function
51 return cast<PossiblyExactOperator>(Op)->isExact(); in isExact()
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DIRBuilder.h1460 bool isExact = false) {
1461 if (Value *V = Folder.FoldExactBinOp(Instruction::UDiv, LHS, RHS, isExact))
1463 if (!isExact)
1473 bool isExact = false) {
1474 if (Value *V = Folder.FoldExactBinOp(Instruction::SDiv, LHS, RHS, isExact))
1476 if (!isExact)
1519 bool isExact = false) {
1520 if (Value *V = Folder.FoldExactBinOp(Instruction::LShr, LHS, RHS, isExact))
1522 if (!isExact)
1528 bool isExact = false) {
[all …]
H A DOperator.h173 bool isExact() const {
H A DInstruction.h596 LLVM_ABI bool isExact() const LLVM_READONLY;
/freebsd/contrib/llvm-project/llvm/lib/IR/
H A DInstruction.cpp570 bool Instruction::isExact() const { in isExact() function in Instruction
571 return cast<PossiblyExactOperator>(this)->isExact(); in isExact()
692 setIsExact(PE->isExact()); in copyIRFlags()
734 setIsExact(isExact() && PE->isExact()); in andIRFlags()
H A DOperator.cpp39 return cast<PossiblyExactOperator>(this)->isExact(); in hasPoisonGeneratingFlags()
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DDemandedBits.cpp198 if (cast<LShrOperator>(UserI)->isExact()) in determineLiveOperandBits()
218 if (cast<AShrOperator>(UserI)->isExact()) in determineLiveOperandBits()
H A DValueTracking.cpp1243 KnownBits::udiv(Known, Known2, Q.IIQ.isExact(cast<BinaryOperator>(I))); in computeKnownBitsFromOperator()
1250 KnownBits::sdiv(Known, Known2, Q.IIQ.isExact(cast<BinaryOperator>(I))); in computeKnownBitsFromOperator()
1417 bool Exact = Q.IIQ.isExact(cast<BinaryOperator>(I)); in computeKnownBitsFromOperator()
1431 bool Exact = Q.IIQ.isExact(cast<BinaryOperator>(I)); in computeKnownBitsFromOperator()
2374 return (OrZero || Q.IIQ.isExact(BO)) && in isPowerOfTwoRecurrence()
2383 return OrZero || Q.IIQ.isExact(BO); in isPowerOfTwoRecurrence()
2489 if (OrZero || Q.IIQ.isExact(cast<BinaryOperator>(I))) in isKnownToBeAPowerOfTwo()
2493 if (Q.IIQ.isExact(cast<BinaryOperator>(I))) in isKnownToBeAPowerOfTwo()
2816 return BO->isExact(); in isNonZeroRecurrence()
3080 if (BO->isExact()) in isKnownNonZeroFromOperator()
[all …]
H A DInstructionSimplify.cpp3445 if (ICmpInst::isSigned(Pred) || !Q.IIQ.isExact(LBO) || in simplifyICmpWithBinOp()
3446 !Q.IIQ.isExact(RBO)) in simplifyICmpWithBinOp()
3453 if (!ICmpInst::isEquality(Pred) || !Q.IIQ.isExact(LBO) || in simplifyICmpWithBinOp()
3454 !Q.IIQ.isExact(RBO)) in simplifyICmpWithBinOp()
3461 if (!Q.IIQ.isExact(LBO) || !Q.IIQ.isExact(RBO)) in simplifyICmpWithBinOp()
7144 Q.IIQ.isExact(cast<BinaryOperator>(I)), Q, in simplifyInstructionWithOperands()
7148 Q.IIQ.isExact(cast<BinaryOperator>(I)), Q, in simplifyInstructionWithOperands()
7166 Q.IIQ.isExact(cast<BinaryOperator>(I)), Q, in simplifyInstructionWithOperands()
7170 Q.IIQ.isExact(cast<BinaryOperator>(I)), Q, in simplifyInstructionWithOperands()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DCorrelatedValuePropagation.cpp807 BinOp->setIsExact(Instr->isExact()); in narrowSDivOrSRem()
925 BinOp->setIsExact(Instr->isExact()); in narrowUDivOrURem()
1042 UDiv->setIsExact(SDI->isExact()); in processSDiv()
1104 BO->setIsExact(SDI->isExact()); in processAShr()
H A DIndVarSimplify.cpp186 bool isExact = false; in ConvertToSInt() local
190 APFloat::rmTowardZero, &isExact) != APFloat::opOK || in ConvertToSInt()
191 !isExact) in ConvertToSInt()
/freebsd/contrib/llvm-project/lldb/source/Utility/
H A DScalar.cpp281 bool isExact; in ToAPInt() local
282 f.convertToInteger(result, llvm::APFloat::rmTowardZero, &isExact); in ToAPInt()
/freebsd/contrib/llvm-project/llvm/lib/Support/
H A DAPFloat.cpp2720 roundingMode rounding_mode, bool *isExact) const { in convertToSignExtendedInteger()
2725 *isExact = false; in convertToSignExtendedInteger()
2737 *isExact = !sign; in convertToSignExtendedInteger()
2816 *isExact = true; in convertToSignExtendedInteger()
2834 roundingMode rounding_mode, bool *isExact) const { in convertToInteger()
2838 isExact); in convertToInteger()
5553 bool *isExact) const { in convertToInteger()
5557 rounding_mode, isExact); in convertToInteger()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/AggressiveInstCombine/
H A DTruncInstCombine.cpp442 ResI->setIsExact(PEO->isExact()); in ReduceExpressionGraph()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/
H A DFastISel.cpp305 bool isExact; in materializeConstant() local
306 (void)Flt.convertToInteger(SIntVal, APFloat::rmTowardZero, &isExact); in materializeConstant()
307 if (isExact) { in materializeConstant()
492 cast<BinaryOperator>(I)->isExact() && isPowerOf2_64(Imm)) { in selectBinaryOp()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DSimplifyIndVar.cpp175 if (UseInst->isExact() && LHS != SE->getMulExpr(FoldedExpr, RHS)) in foldIVUser()
314 UDiv->setIsExact(SDiv->isExact()); in eliminateSDiv()
841 if (!Shr->isExact() && IVRange.getUnsignedMin().uge(*C)) { in strengthenRightShift()
H A DScalarEvolutionExpander.cpp59 Exact = PEO->isExact(); in PoisonFlags()
290 if (isa<PossiblyExactOperator>(I) && I->isExact()) in InsertBinop()
/freebsd/contrib/llvm-project/llvm/lib/FuzzMutate/
H A DIRMutator.cpp292 Modifications.push_back([&Inst] { Inst.setIsExact(!Inst.isExact()); }); in mutate()

123