| /freebsd/contrib/llvm-project/lld/Common/ |
| H A D | Strings.cpp | 22 static bool isExact(StringRef Pattern) { in isExact() function 28 : ExactMatch(isExact(Pattern)) { in SingleStringMatcher()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/ |
| H A D | InstCombineShifts.cpp | 159 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 D | InstCombineMulDivRem.cpp | 77 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 D | InstCombineSimplifyDemanded.cpp | 849 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 D | InstCombineNegator.cpp | 284 NewInstr->setIsExact(I->isExact()); in visitImpl()
|
| H A D | InstCombineCompares.cpp | 2512 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 D | InstCombineCasts.cpp | 55 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 D | SimplifyQuery.h | 49 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 D | IRBuilder.h | 1460 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 D | Operator.h | 173 bool isExact() const {
|
| H A D | Instruction.h | 596 LLVM_ABI bool isExact() const LLVM_READONLY;
|
| /freebsd/contrib/llvm-project/llvm/lib/IR/ |
| H A D | Instruction.cpp | 570 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 D | Operator.cpp | 39 return cast<PossiblyExactOperator>(this)->isExact(); in hasPoisonGeneratingFlags()
|
| /freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
| H A D | DemandedBits.cpp | 198 if (cast<LShrOperator>(UserI)->isExact()) in determineLiveOperandBits() 218 if (cast<AShrOperator>(UserI)->isExact()) in determineLiveOperandBits()
|
| H A D | ValueTracking.cpp | 1243 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 D | InstructionSimplify.cpp | 3445 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 D | CorrelatedValuePropagation.cpp | 807 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 D | IndVarSimplify.cpp | 186 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 D | Scalar.cpp | 281 bool isExact; in ToAPInt() local 282 f.convertToInteger(result, llvm::APFloat::rmTowardZero, &isExact); in ToAPInt()
|
| /freebsd/contrib/llvm-project/llvm/lib/Support/ |
| H A D | APFloat.cpp | 2720 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 D | TruncInstCombine.cpp | 442 ResI->setIsExact(PEO->isExact()); in ReduceExpressionGraph()
|
| /freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/ |
| H A D | FastISel.cpp | 305 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 D | SimplifyIndVar.cpp | 175 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 D | ScalarEvolutionExpander.cpp | 59 Exact = PEO->isExact(); in PoisonFlags() 290 if (isa<PossiblyExactOperator>(I) && I->isExact()) in InsertBinop()
|
| /freebsd/contrib/llvm-project/llvm/lib/FuzzMutate/ |
| H A D | IRMutator.cpp | 292 Modifications.push_back([&Inst] { Inst.setIsExact(!Inst.isExact()); }); in mutate()
|