Lines Matching refs:SCEVConstant
233 cast<SCEVConstant>(this)->getValue()->printAsOperand(OS, false); in print()
343 return cast<SCEVConstant>(this)->getType(); in getType()
366 if (const SCEVConstant *SC = dyn_cast<SCEVConstant>(this)) in isZero()
372 if (const SCEVConstant *SC = dyn_cast<SCEVConstant>(this)) in isOne()
378 if (const SCEVConstant *SC = dyn_cast<SCEVConstant>(this)) in isAllOnesValue()
388 const SCEVConstant *SC = dyn_cast<SCEVConstant>(Mul->getOperand(0)); in isNonConstantNegative()
408 SCEV *S = new (SCEVAllocator) SCEVConstant(ID.Intern(SCEVAllocator), V); in getConstant()
665 const SCEVConstant *LC = cast<SCEVConstant>(LHS); in CompareSCEVComplexity()
666 const SCEVConstant *RC = cast<SCEVConstant>(RHS); in CompareSCEVComplexity()
919 void visitConstant(const SCEVConstant *Numerator) { in visitConstant()
920 if (const SCEVConstant *D = dyn_cast<SCEVConstant>(Denominator)) { in visitConstant()
1029 cast<SCEVConstant>(Zero)->getValue(); in visitMulExpr()
1035 cast<SCEVConstant>(One)->getValue(); in visitMulExpr()
1238 if (const SCEVConstant *SC = dyn_cast<SCEVConstant>(Op)) in getTruncateExpr()
1527 const SCEVConstant *StartC = dyn_cast<SCEVConstant>(Start); in proveNoWrapByVaryingStart()
1566 const SCEVConstant *ConstantTerm, in extractConstantWithoutWrapping()
1606 if (const SCEVConstant *SC = dyn_cast<SCEVConstant>(Op)) in getZeroExtendExpr()
1786 if (const auto *SC = dyn_cast<SCEVConstant>(Start)) { in getZeroExtendExpr()
1841 if (const auto *SC = dyn_cast<SCEVConstant>(SA->getOperand(0))) { in getZeroExtendExpr()
1879 if (auto *MulLHS = dyn_cast<SCEVConstant>(SM->getOperand(0))) in getZeroExtendExpr()
1912 if (const SCEVConstant *SC = dyn_cast<SCEVConstant>(Op)) in getSignExtendExpr()
1974 if (const auto *SC = dyn_cast<SCEVConstant>(SA->getOperand(0))) { in getSignExtendExpr()
2118 if (const auto *SC = dyn_cast<SCEVConstant>(Start)) { in getSignExtendExpr()
2166 if (const SCEVConstant *SC = dyn_cast<SCEVConstant>(Op)) in getAnyExtendExpr()
2238 while (const SCEVConstant *C = dyn_cast<SCEVConstant>(Ops[i])) { in CollectAddOperandsWithScales()
2250 if (Mul && isa<SCEVConstant>(Mul->getOperand(0))) { in CollectAddOperandsWithScales()
2252 Scale * cast<SCEVConstant>(Mul->getOperand(0))->getAPInt(); in CollectAddOperandsWithScales()
2326 isa<SCEVConstant>(Ops[0])) { in StrengthenNoWrapFlags()
2339 const APInt &C = cast<SCEVConstant>(Ops[0])->getAPInt(); in StrengthenNoWrapFlags()
2387 if (const SCEVConstant *LHSC = dyn_cast<SCEVConstant>(Ops[0])) { in getAddExpr()
2390 while (const SCEVConstant *RHSC = dyn_cast<SCEVConstant>(Ops[Idx])) { in getAddExpr()
2395 LHSC = cast<SCEVConstant>(Ops[0]); in getAddExpr()
2465 } else if (const SCEVConstant *C = dyn_cast<SCEVConstant>(Ops[i])) { in getAddExpr()
2477 } else if (const auto *C = dyn_cast<SCEVConstant>(M->getOperand(j))) { in getAddExpr()
2495 if (isa<SCEVConstant>(Fold) || isa<SCEVUnknown>(Fold)) in getAddExpr()
2576 if (isa<SCEVConstant>(MulOpSCEV)) in getAddExpr()
2851 FoundConstant |= isa<SCEVConstant>(S); in containsConstantInAddMulChain()
2892 if (const SCEVConstant *LHSC = dyn_cast<SCEVConstant>(Ops[0])) { in getMulExpr()
2911 while (const SCEVConstant *RHSC = dyn_cast<SCEVConstant>(Ops[Idx])) { in getMulExpr()
2918 LHSC = cast<SCEVConstant>(Ops[0]); in getMulExpr()
2922 if (cast<SCEVConstant>(Ops[0])->getValue()->isOne()) { in getMulExpr()
2925 } else if (cast<SCEVConstant>(Ops[0])->getValue()->isZero()) { in getMulExpr()
3124 if (const SCEVConstant *RHSC = dyn_cast<SCEVConstant>(RHS)) { in getURemExpr()
3152 if (const SCEVConstant *RHSC = dyn_cast<SCEVConstant>(RHS)) { in getUDivExpr()
3172 if (const SCEVConstant *Step = in getUDivExpr()
3173 dyn_cast<SCEVConstant>(AR->getStepRecurrence(*this))) { in getUDivExpr()
3190 const SCEVConstant *StartC = dyn_cast<SCEVConstant>(AR->getStart()); in getUDivExpr()
3225 dyn_cast<SCEVConstant>(OtherDiv->getRHS())) { in getUDivExpr()
3256 if (const SCEVConstant *LHSC = dyn_cast<SCEVConstant>(LHS)) { in getUDivExpr()
3278 static const APInt gcd(const SCEVConstant *C1, const SCEVConstant *C2) { in gcd()
3306 if (const SCEVConstant *RHSCst = dyn_cast<SCEVConstant>(RHS)) { in getUDivExactExpr()
3309 if (const auto *LHSCst = dyn_cast<SCEVConstant>(Mul->getOperand(0))) { in getUDivExactExpr()
3322 cast<SCEVConstant>(getConstant(LHSCst->getAPInt().udiv(Factor))); in getUDivExactExpr()
3324 cast<SCEVConstant>(getConstant(RHSCst->getAPInt().udiv(Factor))); in getUDivExactExpr()
3467 ConstantInt *Index = cast<SCEVConstant>(IndexExpr)->getValue(); in getGEPExpr()
3518 if (const SCEVConstant *LHSC = dyn_cast<SCEVConstant>(Ops[0])) { in getSMaxExpr()
3521 while (const SCEVConstant *RHSC = dyn_cast<SCEVConstant>(Ops[Idx])) { in getSMaxExpr()
3528 LHSC = cast<SCEVConstant>(Ops[0]); in getSMaxExpr()
3532 if (cast<SCEVConstant>(Ops[0])->getValue()->isMinValue(true)) { in getSMaxExpr()
3535 } else if (cast<SCEVConstant>(Ops[0])->getValue()->isMaxValue(true)) { in getSMaxExpr()
3620 if (const SCEVConstant *LHSC = dyn_cast<SCEVConstant>(Ops[0])) { in getUMaxExpr()
3623 while (const SCEVConstant *RHSC = dyn_cast<SCEVConstant>(Ops[Idx])) { in getUMaxExpr()
3630 LHSC = cast<SCEVConstant>(Ops[0]); in getUMaxExpr()
3634 if (cast<SCEVConstant>(Ops[0])->getValue()->isMinValue(false)) { in getUMaxExpr()
3637 } else if (cast<SCEVConstant>(Ops[0])->getValue()->isMaxValue(false)) { in getUMaxExpr()
3847 auto *ConstOp = dyn_cast<SCEVConstant>(Add->getOperand(0)); in splitAddExpr()
3963 if (const SCEVConstant *VC = dyn_cast<SCEVConstant>(V)) in getNegativeSCEV()
3975 if (const SCEVConstant *VC = dyn_cast<SCEVConstant>(V)) in getNotSCEV()
4338 bool IsOne = cast<SCEVConstant>(Res.getValue())->getValue()->isOne(); in visitUnknown()
5451 if (const SCEVConstant *C = dyn_cast<SCEVConstant>(S)) in GetMinTrailingZerosImpl()
5560 if (const SCEVConstant *C = dyn_cast<SCEVConstant>(S)) in getRangeRef()
5637 if (const SCEVConstant *C = dyn_cast<SCEVConstant>(AddRec->getStart())) in getRangeRef()
5862 if (SA->getNumOperands() != 2 || !isa<SCEVConstant>(SA->getOperand(0))) in getRangeViaFactoring()
5865 Offset = cast<SCEVConstant>(SA->getOperand(0))->getAPInt(); in getRangeViaFactoring()
6261 if (auto *OpC = dyn_cast<SCEVConstant>(LHSMul->getOperand(0))) { in createSCEV()
6499 static unsigned getConstantTripCount(const SCEVConstant *ExitCount) { in getConstantTripCount()
6526 const SCEVConstant *ExitCount = in getSmallConstantTripCount()
6527 dyn_cast<SCEVConstant>(getExitCount(L, ExitingBlock)); in getSmallConstantTripCount()
6533 dyn_cast<SCEVConstant>(getMaxBackedgeTakenCount(L)); in getSmallConstantMaxTripCount()
6570 const SCEVConstant *TC = dyn_cast<SCEVConstant>(TCExpr); in getSmallConstantTripMultiple()
6907 assert((isa<SCEVCouldNotCompute>(getMax()) || isa<SCEVConstant>(getMax())) && in getMax()
6936 isa<SCEVConstant>(MaxNotTaken)) && in ExitLimit()
6948 isa<SCEVConstant>(MaxNotTaken)) && in ExitLimit()
6960 isa<SCEVConstant>(MaxNotTaken)) &&
6968 isa<SCEVConstant>(MaxNotTaken)) && in ExitLimit()
6996 assert((isa<SCEVCouldNotCompute>(MaxCount) || isa<SCEVConstant>(MaxCount)) && in BackedgeTakenInfo()
7338 if (const SCEVConstant *RHSC = dyn_cast<SCEVConstant>(RHS)) in computeExitLimitFromICmp()
7423 assert(isa<SCEVConstant>(Val) && in EvaluateConstantChrecAtConstant()
7425 return cast<SCEVConstant>(Val)->getValue(); in EvaluateConstantChrecAtConstant()
7478 !isa<SCEVConstant>(IdxExpr->getOperand(0)) || in computeLoadConstantCompareExitLimit()
7479 !isa<SCEVConstant>(IdxExpr->getOperand(1))) in computeLoadConstantCompareExitLimit()
7994 return cast<SCEVConstant>(V)->getValue(); in BuildConstantFromSCEV()
8084 if (isa<SCEVConstant>(V)) return V; in computeSCEVAtScope()
8099 if (const SCEVConstant *BTCC = in computeSCEVAtScope()
8100 dyn_cast<SCEVConstant>(BackedgeTakenCount)) { in computeSCEVAtScope()
8364 const SCEVConstant *LC = dyn_cast<SCEVConstant>(AddRec->getOperand(0)); in GetQuadraticEquation()
8365 const SCEVConstant *MC = dyn_cast<SCEVConstant>(AddRec->getOperand(1)); in GetQuadraticEquation()
8366 const SCEVConstant *NC = dyn_cast<SCEVConstant>(AddRec->getOperand(2)); in GetQuadraticEquation()
8632 if (const SCEVConstant *C = dyn_cast<SCEVConstant>(V)) { in howFarToZero()
8657 const auto *R = cast<SCEVConstant>(getConstant(S.getValue())); in howFarToZero()
8688 const SCEVConstant *StepC = dyn_cast<SCEVConstant>(Step); in howFarToZero()
8758 if (const SCEVConstant *C = dyn_cast<SCEVConstant>(V)) { in howFarToNonZero()
8830 if (const SCEVConstant *LHSC = dyn_cast<SCEVConstant>(LHS)) { in SimplifyICmpOperands()
8832 if (const SCEVConstant *RHSC = dyn_cast<SCEVConstant>(RHS)) { in SimplifyICmpOperands()
8860 if (const SCEVConstant *RC = dyn_cast<SCEVConstant>(RHS)) { in SimplifyICmpOperands()
9284 !isa<SCEVConstant>(ConstOp) || NonConstOp != X) in isKnownPredicateViaNoOverflow()
9287 OutY = cast<SCEVConstant>(ConstOp)->getAPInt(); in isKnownPredicateViaNoOverflow()
9669 if (isa<SCEVConstant>(RHS)) { in isImpliedCond()
9685 if (isa<SCEVConstant>(RHS)) in isImpliedCond()
9701 (isa<SCEVConstant>(FoundLHS) || isa<SCEVConstant>(FoundRHS))) { in isImpliedCond()
9703 const SCEVConstant *C = nullptr; in isImpliedCond()
9706 if (isa<SCEVConstant>(FoundLHS)) { in isImpliedCond()
9707 C = cast<SCEVConstant>(FoundLHS); in isImpliedCond()
9710 C = cast<SCEVConstant>(FoundRHS); in isImpliedCond()
9814 if (isa<SCEVConstant>(Less) && isa<SCEVConstant>(More)) { in computeConstantDifference()
9815 const auto &M = cast<SCEVConstant>(More)->getAPInt(); in computeConstantDifference()
9816 const auto &L = cast<SCEVConstant>(Less)->getAPInt(); in computeConstantDifference()
9823 const SCEVConstant *C1 = nullptr, *C2 = nullptr; in computeConstantDifference()
9826 if ((C1 = dyn_cast<SCEVConstant>(LLess))) in computeConstantDifference()
9832 if ((C2 = dyn_cast<SCEVConstant>(LMore))) in computeConstantDifference()
10239 auto *Denominator = cast<SCEVConstant>(getSCEV(LR)); in isImpliedViaOperations()
10359 if (!isa<SCEVConstant>(RHS) || !isa<SCEVConstant>(FoundRHS)) in isImpliedCondOperandsViaRanges()
10368 const APInt &ConstFoundRHS = cast<SCEVConstant>(FoundRHS)->getAPInt(); in isImpliedCondOperandsViaRanges()
10380 const APInt &ConstRHS = cast<SCEVConstant>(RHS)->getAPInt(); in isImpliedCondOperandsViaRanges()
10611 if (isa<SCEVConstant>(BECount)) in howManyLessThans()
10613 else if (isa<SCEVConstant>(BECountIfBackedgeTaken)) { in howManyLessThans()
10696 if (isa<SCEVConstant>(BECount)) in howManyGreaterThans()
10714 if (const SCEVConstant *SC = dyn_cast<SCEVConstant>(getStart())) in getNumIterationsInRange()
10729 if (any_of(operands(), [](const SCEV *Op) { return !isa<SCEVConstant>(Op); })) in getNumIterationsInRange()
10749 APInt A = cast<SCEVConstant>(getOperand(1))->getAPInt(); in getNumIterationsInRange()
10809 else if (const auto *SC = dyn_cast<SCEVConstant>(S)) in containsUndefs()
10978 if (!isa<SCEVConstant>(Op)) in findArrayDimensionsRec()
11002 remove_if(Terms, [](const SCEV *E) { return isa<SCEVConstant>(E); }), in findArrayDimensionsRec()
11029 if (isa<SCEVConstant>(T)) in removeConstantFactors()
11038 if (!isa<SCEVConstant>(Op)) in removeConstantFactors()
11834 const SCEV *visitConstant(const SCEVConstant *Constant) { in verify()
11885 dyn_cast<SCEVConstant>(SE2.getMinusSCEV(CurBECount, NewBECount)); in verify()
12219 if (const auto *Step = dyn_cast<SCEVConstant>(AR->getStepRecurrence(SE))) in getImpliedFlags()
12442 if (Mul->getNumOperands() == 3 && isa<SCEVConstant>(Mul->getOperand(0))) in matchURem()