Lines Matching refs:SCEVConstant

263     cast<SCEVConstant>(this)->getValue()->printAsOperand(OS, false);  in print()
395 return cast<SCEVConstant>(this)->getType(); in getType()
425 if (const SCEVConstant *SC = dyn_cast<SCEVConstant>(this)) in isZero()
431 if (const SCEVConstant *SC = dyn_cast<SCEVConstant>(this)) in isOne()
437 if (const SCEVConstant *SC = dyn_cast<SCEVConstant>(this)) in isAllOnesValue()
447 const SCEVConstant *SC = dyn_cast<SCEVConstant>(Mul->getOperand(0)); in isNonConstantNegative()
467 SCEV *S = new (SCEVAllocator) SCEVConstant(ID.Intern(SCEVAllocator), V); in getConstant()
742 const SCEVConstant *LC = cast<SCEVConstant>(LHS); in CompareSCEVComplexity()
743 const SCEVConstant *RC = cast<SCEVConstant>(RHS); in CompareSCEVComplexity()
1220 if (const SCEVConstant *SC = dyn_cast<SCEVConstant>(Op)) in getTruncateExpr()
1523 const SCEVConstant *StartC = dyn_cast<SCEVConstant>(Start); in proveNoWrapByVaryingStart()
1562 const SCEVConstant *ConstantTerm, in extractConstantWithoutWrapping()
1603 if (const SCEVConstant *SC = dyn_cast<SCEVConstant>(Op)) in getZeroExtendExpr()
1777 if (const auto *SC = dyn_cast<SCEVConstant>(Start)) { in getZeroExtendExpr()
1833 if (const auto *SC = dyn_cast<SCEVConstant>(SA->getOperand(0))) { in getZeroExtendExpr()
1871 if (auto *MulLHS = dyn_cast<SCEVConstant>(SM->getOperand(0))) in getZeroExtendExpr()
1905 if (const SCEVConstant *SC = dyn_cast<SCEVConstant>(Op)) in getSignExtendExpr()
1967 if (const auto *SC = dyn_cast<SCEVConstant>(SA->getOperand(0))) { in getSignExtendExpr()
2095 if (const auto *SC = dyn_cast<SCEVConstant>(Start)) { in getSignExtendExpr()
2160 if (const SCEVConstant *SC = dyn_cast<SCEVConstant>(Op)) in getAnyExtendExpr()
2232 while (const SCEVConstant *C = dyn_cast<SCEVConstant>(Ops[i])) { in CollectAddOperandsWithScales()
2244 if (Mul && isa<SCEVConstant>(Mul->getOperand(0))) { in CollectAddOperandsWithScales()
2246 Scale * cast<SCEVConstant>(Mul->getOperand(0))->getAPInt(); in CollectAddOperandsWithScales()
2398 isa<SCEVConstant>(Ops[0])) { in StrengthenNoWrapFlags()
2411 const APInt &C = cast<SCEVConstant>(Ops[0])->getAPInt(); in StrengthenNoWrapFlags()
2478 if (const SCEVConstant *LHSC = dyn_cast<SCEVConstant>(Ops[0])) { in getAddExpr()
2481 while (const SCEVConstant *RHSC = dyn_cast<SCEVConstant>(Ops[Idx])) { in getAddExpr()
2486 LHSC = cast<SCEVConstant>(Ops[0]); in getAddExpr()
2569 } else if (const SCEVConstant *C = dyn_cast<SCEVConstant>(Ops[i])) { in getAddExpr()
2581 } else if (const auto *C = dyn_cast<SCEVConstant>(M->getOperand(j))) { in getAddExpr()
2599 if (isa<SCEVConstant>(Fold) || isa<SCEVUnknown>(Fold)) in getAddExpr()
2611 auto *C = dyn_cast<SCEVConstant>(A); in getAddExpr()
2612 if (AddExpr && C && isa<SCEVConstant>(AddExpr->getOperand(0))) { in getAddExpr()
2613 auto C1 = cast<SCEVConstant>(AddExpr->getOperand(0))->getAPInt(); in getAddExpr()
2741 if (isa<SCEVConstant>(MulOpSCEV)) in getAddExpr()
3037 FoundConstant |= isa<SCEVConstant>(S); in containsConstantInAddMulChain()
3073 if (const SCEVConstant *LHSC = dyn_cast<SCEVConstant>(Ops[0])) { in getMulExpr()
3076 while (const SCEVConstant *RHSC = dyn_cast<SCEVConstant>(Ops[Idx])) { in getMulExpr()
3081 LHSC = cast<SCEVConstant>(Ops[0]); in getMulExpr()
3115 if (const SCEVConstant *LHSC = dyn_cast<SCEVConstant>(Ops[0])) { in getMulExpr()
3326 if (const SCEVConstant *RHSC = dyn_cast<SCEVConstant>(RHS)) { in getURemExpr()
3364 if (const SCEVConstant *LHSC = dyn_cast<SCEVConstant>(LHS)) in getUDivExpr()
3368 if (const SCEVConstant *RHSC = dyn_cast<SCEVConstant>(RHS)) { in getUDivExpr()
3388 if (const SCEVConstant *Step = in getUDivExpr()
3389 dyn_cast<SCEVConstant>(AR->getStepRecurrence(*this))) { in getUDivExpr()
3406 const SCEVConstant *StartC = dyn_cast<SCEVConstant>(AR->getStart()); in getUDivExpr()
3455 dyn_cast<SCEVConstant>(OtherDiv->getRHS())) { in getUDivExpr()
3486 if (const SCEVConstant *LHSC = dyn_cast<SCEVConstant>(LHS)) in getUDivExpr()
3502 APInt gcd(const SCEVConstant *C1, const SCEVConstant *C2) { in gcd()
3530 if (const SCEVConstant *RHSCst = dyn_cast<SCEVConstant>(RHS)) { in getUDivExactExpr()
3533 if (const auto *LHSCst = dyn_cast<SCEVConstant>(Mul->getOperand(0))) { in getUDivExactExpr()
3545 cast<SCEVConstant>(getConstant(LHSCst->getAPInt().udiv(Factor))); in getUDivExactExpr()
3547 cast<SCEVConstant>(getConstant(RHSCst->getAPInt().udiv(Factor))); in getUDivExactExpr()
3698 ConstantInt *Index = cast<SCEVConstant>(IndexExpr)->getValue(); in getGEPExpr()
3787 if (const SCEVConstant *LHSC = dyn_cast<SCEVConstant>(Ops[0])) { in getMinMaxExpr()
3802 while (const SCEVConstant *RHSC = dyn_cast<SCEVConstant>(Ops[Idx])) { in getMinMaxExpr()
3809 LHSC = cast<SCEVConstant>(Ops[0]); in getMinMaxExpr()
3973 RetVal visitConstant(const SCEVConstant *Constant) { return Constant; } in visitConstant()
4429 if (const SCEVConstant *VC = dyn_cast<SCEVConstant>(V)) in getNegativeSCEV()
4457 if (const SCEVConstant *VC = dyn_cast<SCEVConstant>(V)) in getNotSCEV()
4841 bool IsOne = cast<SCEVConstant>(Res.value())->getValue()->isOne(); in visitUnknown()
6045 if (isa<SCEVConstant>(C) && cast<SCEVConstant>(C)->getAPInt().ule(1)) in createNodeForSelectOrPHIInstWithICmpInstCond()
6089 if (!isa<SCEVConstant>(TrueExpr) && !isa<SCEVConstant>(FalseExpr)) in createNodeForSelectViaUMinSeq()
6093 if (isa<SCEVConstant>(TrueExpr)) { in createNodeForSelectViaUMinSeq()
6169 if (const SCEVConstant *C = dyn_cast<SCEVConstant>(S)) in GetMinTrailingZerosImpl()
6412 if (const SCEVConstant *C = dyn_cast<SCEVConstant>(S)) in getRangeRef()
6778 if (!isa<SCEVConstant>(Step)) in getRangeForAffineNoSelfWrappingAR()
6861 if (SA->getNumOperands() != 2 || !isa<SCEVConstant>(SA->getOperand(0))) in getRangeViaFactoring()
6864 Offset = cast<SCEVConstant>(SA->getOperand(0))->getAPInt(); in getRangeViaFactoring()
7573 if (auto *OpC = dyn_cast<SCEVConstant>(LHSMul->getOperand(0))) { in createSCEV()
7900 static unsigned getConstantTripCount(const SCEVConstant *ExitCount) { in getConstantTripCount()
7915 auto *ExitCount = dyn_cast<SCEVConstant>(getBackedgeTakenCount(L, Exact)); in getSmallConstantTripCount()
7925 const SCEVConstant *ExitCount = in getSmallConstantTripCount()
7926 dyn_cast<SCEVConstant>(getExitCount(L, ExitingBlock)); in getSmallConstantTripCount()
7932 dyn_cast<SCEVConstant>(getConstantMaxBackedgeTakenCount(L)); in getSmallConstantMaxTripCount()
7983 auto *ElemSize = dyn_cast<SCEVConstant>(getElementSize(&Inst)); in getConstantMaxTripCountFromArray()
7993 auto *Step = dyn_cast<SCEVConstant>(AddRec->getStepRecurrence(*this)); in getConstantMaxTripCountFromArray()
8032 dyn_cast<SCEVConstant>(getUDivCeilSCEV(MemSize, Step)); in getConstantMaxTripCountFromArray()
8040 auto *InferCount = dyn_cast<SCEVConstant>( in getConstantMaxTripCountFromArray()
8078 const SCEVConstant *TC = dyn_cast<SCEVConstant>(TCExpr); in getSmallConstantTripMultiple()
8435 isa<SCEVConstant>(getConstantMax())) && in getConstantMax()
8474 isa<SCEVConstant>(MaxNotTaken)) && in ExitLimit()
8514 isa<SCEVConstant>(ConstantMax)) && in BackedgeTakenInfo()
8602 if (!isa<SCEVConstant>(Pair.second.ExactNotTaken)) in computeBackedgeTakenCount()
8890 if (const SCEVConstant *RHSC = dyn_cast<SCEVConstant>(RHS)) in computeExitLimitFromICmp()
8913 auto *StrideC = dyn_cast<SCEVConstant>(AR->getStepRecurrence(*this)); in computeExitLimitFromICmp()
9012 assert(isa<SCEVConstant>(Val) && in EvaluateConstantChrecAtConstant()
9014 return cast<SCEVConstant>(Val)->getValue(); in EvaluateConstantChrecAtConstant()
9483 if (!isa<SCEVConstant>(C)) in getSCEVAtScope()
9500 return cast<SCEVConstant>(V)->getValue(); in BuildConstantFromSCEV()
9579 if (isa<SCEVConstant>(V)) return V; in computeSCEVAtScope()
9625 if (auto *BTCC = dyn_cast<SCEVConstant>(BackedgeTakenCount)) { in computeSCEVAtScope()
9642 if (isa<SCEVConstant>(InputAtScope)) return InputAtScope; in computeSCEVAtScope()
9861 const SCEVConstant *LC = dyn_cast<SCEVConstant>(AddRec->getOperand(0)); in GetQuadraticEquation()
9862 const SCEVConstant *MC = dyn_cast<SCEVConstant>(AddRec->getOperand(1)); in GetQuadraticEquation()
9863 const SCEVConstant *NC = dyn_cast<SCEVConstant>(AddRec->getOperand(2)); in GetQuadraticEquation()
10129 if (const SCEVConstant *C = dyn_cast<SCEVConstant>(V)) { in howFarToZero()
10154 const auto *R = cast<SCEVConstant>(getConstant(*S)); in howFarToZero()
10185 const SCEVConstant *StepC = dyn_cast<SCEVConstant>(Step); in howFarToZero()
10260 if (const SCEVConstant *C = dyn_cast<SCEVConstant>(V)) { in howFarToNonZero()
10334 if (const SCEVConstant *LHSC = dyn_cast<SCEVConstant>(LHS)) { in SimplifyICmpOperands()
10336 if (const SCEVConstant *RHSC = dyn_cast<SCEVConstant>(RHS)) { in SimplifyICmpOperands()
10364 if (const SCEVConstant *RC = dyn_cast<SCEVConstant>(RHS)) { in SimplifyICmpOperands()
10900 if (!isa<SCEVConstant>(XConstOp) || in isKnownPredicateViaNoOverflow()
10910 if (!isa<SCEVConstant>(YConstOp) || in isKnownPredicateViaNoOverflow()
10917 OutC1 = cast<SCEVConstant>(XConstOp)->getAPInt(); in isKnownPredicateViaNoOverflow()
10918 OutC2 = cast<SCEVConstant>(YConstOp)->getAPInt(); in isKnownPredicateViaNoOverflow()
11359 if (isa<SCEVConstant>(RHS)) { in isImpliedCondBalancedTypes()
11384 if (!isa<SCEVConstant>(RHS) && !isa<SCEVAddRecExpr>(LHS)) in isImpliedCondBalancedTypes()
11387 if (!isa<SCEVConstant>(FoundRHS) && !isa<SCEVAddRecExpr>(FoundLHS)) in isImpliedCondBalancedTypes()
11453 (isa<SCEVConstant>(FoundLHS) || isa<SCEVConstant>(FoundRHS))) { in isImpliedCondBalancedTypes()
11455 const SCEVConstant *C = nullptr; in isImpliedCondBalancedTypes()
11458 if (isa<SCEVConstant>(FoundLHS)) { in isImpliedCondBalancedTypes()
11459 C = cast<SCEVConstant>(FoundLHS); in isImpliedCondBalancedTypes()
11462 C = cast<SCEVConstant>(FoundRHS); in isImpliedCondBalancedTypes()
11585 if (isa<SCEVConstant>(Less) && isa<SCEVConstant>(More)) { in computeConstantDifference()
11586 const auto &M = cast<SCEVConstant>(More)->getAPInt(); in computeConstantDifference()
11587 const auto &L = cast<SCEVConstant>(Less)->getAPInt(); in computeConstantDifference()
11594 const SCEVConstant *C1 = nullptr, *C2 = nullptr; in computeConstantDifference()
11597 if ((C1 = dyn_cast<SCEVConstant>(LLess))) in computeConstantDifference()
11603 if ((C2 = dyn_cast<SCEVConstant>(LMore))) in computeConstantDifference()
12098 auto *Denominator = cast<SCEVConstant>(getSCEV(LR)); in isImpliedViaOperations()
12251 if (!isa<SCEVConstant>(RHS) || !isa<SCEVConstant>(FoundRHS)) in isImpliedCondOperandsViaRanges()
12260 const APInt &ConstFoundRHS = cast<SCEVConstant>(FoundRHS)->getAPInt(); in isImpliedCondOperandsViaRanges()
12272 const APInt &ConstRHS = cast<SCEVConstant>(RHS)->getAPInt(); in isImpliedCondOperandsViaRanges()
12410 auto *StrideC = dyn_cast<SCEVConstant>(AR->getStepRecurrence(*this)); in howManyLessThans()
12722 if (auto *StrideC = dyn_cast<SCEVConstant>(Stride)) { in howManyLessThans()
12792 if (isa<SCEVConstant>(BECount)) { in howManyLessThans()
12795 isa<SCEVConstant>(BECountIfBackedgeTaken)) { in howManyLessThans()
12898 const SCEV *MaxBECount = isa<SCEVConstant>(BECount) in howManyGreaterThans()
12915 if (const SCEVConstant *SC = dyn_cast<SCEVConstant>(getStart())) in getNumIterationsInRange()
12930 if (any_of(operands(), [](const SCEV *Op) { return !isa<SCEVConstant>(Op); })) in getNumIterationsInRange()
12950 APInt A = cast<SCEVConstant>(getOperand(1))->getAPInt(); in getNumIterationsInRange()
13544 if (!isa<SCEVConstant>(ENT.ExactNotTaken)) { in forgetBackedgeTakenCounts()
13601 if (!isa_and_nonnull<SCEVConstant>(Pair.second)) in forgetMemoizedResultsImpl()
13691 const SCEV *visitConstant(const SCEVConstant *Constant) { in verify()
13720 if (!VerifySCEVStrict && !isa<SCEVConstant>(Delta)) in verify()
13835 if (isa<SCEVConstant>(Op)) in verify()
13852 if (!isa<SCEVConstant>(ValueAtScope)) { in verify()
13869 assert(!isa<SCEVConstant>(Value)); in verify()
13886 if (!isa<SCEVConstant>(ENT.ExactNotTaken)) { in verify()
14256 if (const auto *Step = dyn_cast<SCEVConstant>(AR->getStepRecurrence(SE))) in getImpliedFlags()
14313 if (!isa<SCEVConstant>(Op)) in registerUser()
14495 if (Mul->getNumOperands() == 3 && isa<SCEVConstant>(Mul->getOperand(0))) in matchURem()
14578 if (isa<SCEVConstant>(LHS)) { in applyLoopGuards()
14592 auto *C1 = dyn_cast<SCEVConstant>(AddExpr->getOperand(0)); in applyLoopGuards()
14594 auto *C2 = dyn_cast<SCEVConstant>(RHS); in applyLoopGuards()
14618 const SCEVConstant *RHSC = dyn_cast<SCEVConstant>(RHS); in applyLoopGuards()
14636 if (isa<SCEVConstant>(LHS) || containsAddRecurrence(RHS)) in applyLoopGuards()
14685 if (isa<SCEVConstant>(RHS)) in applyLoopGuards()
14689 if (isa<SCEVConstant>(RHS) && in applyLoopGuards()
14690 cast<SCEVConstant>(RHS)->getValue()->isNullValue()) in applyLoopGuards()