• Home
  • Raw
  • Download

Lines Matching refs:SCEVConstant

140     cast<SCEVConstant>(this)->getValue()->printAsOperand(OS, false);  in print()
250 return cast<SCEVConstant>(this)->getType(); in getType()
273 if (const SCEVConstant *SC = dyn_cast<SCEVConstant>(this)) in isZero()
279 if (const SCEVConstant *SC = dyn_cast<SCEVConstant>(this)) in isOne()
285 if (const SCEVConstant *SC = dyn_cast<SCEVConstant>(this)) in isAllOnesValue()
295 const SCEVConstant *SC = dyn_cast<SCEVConstant>(Mul->getOperand(0)); in isNonConstantNegative()
315 SCEV *S = new (SCEVAllocator) SCEVConstant(ID.Intern(SCEVAllocator), V); in getConstant()
534 const SCEVConstant *LC = cast<SCEVConstant>(LHS); in compare()
535 const SCEVConstant *RC = cast<SCEVConstant>(RHS); in compare()
763 void visitConstant(const SCEVConstant *Numerator) { in visitConstant()
764 if (const SCEVConstant *D = dyn_cast<SCEVConstant>(Denominator)) { in visitConstant()
873 cast<SCEVConstant>(Zero)->getValue(); in visitMulExpr()
879 cast<SCEVConstant>(One)->getValue(); in visitMulExpr()
1083 if (const SCEVConstant *SC = dyn_cast<SCEVConstant>(Op)) in getTruncateExpr()
1371 const SCEVConstant *StartC = dyn_cast<SCEVConstant>(Start); in proveNoWrapByVaryingStart()
1413 if (const SCEVConstant *SC = dyn_cast<SCEVConstant>(Op)) in getZeroExtendExpr()
1609 if (const SCEVConstant *SC = dyn_cast<SCEVConstant>(Op)) in getSignExtendExpr()
1646 auto *SC1 = dyn_cast<SCEVConstant>(SA->getOperand(0)); in getSignExtendExpr()
1649 if (auto *SC2 = dyn_cast<SCEVConstant>(SMul->getOperand(0))) { in getSignExtendExpr()
1791 auto *SC1 = dyn_cast<SCEVConstant>(Start); in getSignExtendExpr()
1792 auto *SC2 = dyn_cast<SCEVConstant>(Step); in getSignExtendExpr()
1839 if (const SCEVConstant *SC = dyn_cast<SCEVConstant>(Op)) in getAnyExtendExpr()
1912 while (const SCEVConstant *C = dyn_cast<SCEVConstant>(Ops[i])) { in CollectAddOperandsWithScales()
1924 if (Mul && isa<SCEVConstant>(Mul->getOperand(0))) { in CollectAddOperandsWithScales()
1926 Scale * cast<SCEVConstant>(Mul->getOperand(0))->getAPInt(); in CollectAddOperandsWithScales()
1998 Ops.size() == 2 && isa<SCEVConstant>(Ops[0])) { in StrengthenNoWrapFlags()
2003 const APInt &C = cast<SCEVConstant>(Ops[0])->getAPInt(); in StrengthenNoWrapFlags()
2042 if (const SCEVConstant *LHSC = dyn_cast<SCEVConstant>(Ops[0])) { in getAddExpr()
2045 while (const SCEVConstant *RHSC = dyn_cast<SCEVConstant>(Ops[Idx])) { in getAddExpr()
2050 LHSC = cast<SCEVConstant>(Ops[0]); in getAddExpr()
2105 } else if (const SCEVConstant *C = dyn_cast<SCEVConstant>(Ops[i])) { in getAddExpr()
2117 } else if (const auto *C = dyn_cast<SCEVConstant>(M->getOperand(j))) { in getAddExpr()
2135 if (isa<SCEVConstant>(Fold) || isa<SCEVUnknown>(Fold)) in getAddExpr()
2211 if (isa<SCEVConstant>(MulOpSCEV)) in getAddExpr()
2421 if (isa<SCEVConstant>(*CurrentExpr)) in containsConstantSomewhere()
2453 if (const SCEVConstant *LHSC = dyn_cast<SCEVConstant>(Ops[0])) { in getMulExpr()
2466 while (const SCEVConstant *RHSC = dyn_cast<SCEVConstant>(Ops[Idx])) { in getMulExpr()
2473 LHSC = cast<SCEVConstant>(Ops[0]); in getMulExpr()
2477 if (cast<SCEVConstant>(Ops[0])->getValue()->equalsInt(1)) { in getMulExpr()
2480 } else if (cast<SCEVConstant>(Ops[0])->getValue()->isZero()) { in getMulExpr()
2680 if (const SCEVConstant *RHSC = dyn_cast<SCEVConstant>(RHS)) { in getUDivExpr()
2700 if (const SCEVConstant *Step = in getUDivExpr()
2701 dyn_cast<SCEVConstant>(AR->getStepRecurrence(*this))) { in getUDivExpr()
2718 const SCEVConstant *StartC = dyn_cast<SCEVConstant>(AR->getStart()); in getUDivExpr()
2769 if (const SCEVConstant *LHSC = dyn_cast<SCEVConstant>(LHS)) { in getUDivExpr()
2790 static const APInt gcd(const SCEVConstant *C1, const SCEVConstant *C2) { in gcd()
2818 if (const SCEVConstant *RHSCst = dyn_cast<SCEVConstant>(RHS)) { in getUDivExactExpr()
2821 if (const auto *LHSCst = dyn_cast<SCEVConstant>(Mul->getOperand(0))) { in getUDivExactExpr()
2834 cast<SCEVConstant>(getConstant(LHSCst->getAPInt().udiv(Factor))); in getUDivExactExpr()
2836 cast<SCEVConstant>(getConstant(RHSCst->getAPInt().udiv(Factor))); in getUDivExactExpr()
2994 ConstantInt *Index = cast<SCEVConstant>(IndexExpr)->getValue(); in getGEPExpr()
3045 if (const SCEVConstant *LHSC = dyn_cast<SCEVConstant>(Ops[0])) { in getSMaxExpr()
3048 while (const SCEVConstant *RHSC = dyn_cast<SCEVConstant>(Ops[Idx])) { in getSMaxExpr()
3055 LHSC = cast<SCEVConstant>(Ops[0]); in getSMaxExpr()
3059 if (cast<SCEVConstant>(Ops[0])->getValue()->isMinValue(true)) { in getSMaxExpr()
3062 } else if (cast<SCEVConstant>(Ops[0])->getValue()->isMaxValue(true)) { in getSMaxExpr()
3146 if (const SCEVConstant *LHSC = dyn_cast<SCEVConstant>(Ops[0])) { in getUMaxExpr()
3149 while (const SCEVConstant *RHSC = dyn_cast<SCEVConstant>(Ops[Idx])) { in getUMaxExpr()
3156 LHSC = cast<SCEVConstant>(Ops[0]); in getUMaxExpr()
3160 if (cast<SCEVConstant>(Ops[0])->getValue()->isMinValue(false)) { in getUMaxExpr()
3163 } else if (cast<SCEVConstant>(Ops[0])->getValue()->isMaxValue(false)) { in getUMaxExpr()
3449 if (const SCEVConstant *VC = dyn_cast<SCEVConstant>(V)) in getNegativeSCEV()
3461 if (const SCEVConstant *VC = dyn_cast<SCEVConstant>(V)) in getNotSCEV()
4342 if (const SCEVConstant *C = dyn_cast<SCEVConstant>(S)) in GetMinTrailingZeros()
4441 if (const SCEVConstant *C = dyn_cast<SCEVConstant>(S)) in getRange()
4518 if (const SCEVConstant *C = dyn_cast<SCEVConstant>(AddRec->getStart())) in getRange()
4688 if (SA->getNumOperands() != 2 || !isa<SCEVConstant>(SA->getOperand(0))) in getRangeViaFactoring()
4691 Offset = cast<SCEVConstant>(SA->getOperand(0))->getAPInt(); in getRangeViaFactoring()
5259 const SCEVConstant *ExitCount = in getSmallConstantTripCount()
5260 dyn_cast<SCEVConstant>(getExitCount(L, ExitingBlock)); in getSmallConstantTripCount()
5311 const SCEVConstant *MulC = dyn_cast<SCEVConstant>(TCMul); in getSmallConstantTripMultiple()
5974 if (const SCEVConstant *RHSC = dyn_cast<SCEVConstant>(RHS)) in computeExitLimitFromICmp()
6059 assert(isa<SCEVConstant>(Val) && in EvaluateConstantChrecAtConstant()
6061 return cast<SCEVConstant>(Val)->getValue(); in EvaluateConstantChrecAtConstant()
6115 !isa<SCEVConstant>(IdxExpr->getOperand(0)) || in computeLoadConstantCompareExitLimit()
6116 !isa<SCEVConstant>(IdxExpr->getOperand(1))) in computeLoadConstantCompareExitLimit()
6637 return cast<SCEVConstant>(V)->getValue(); in BuildConstantFromSCEV()
6727 if (isa<SCEVConstant>(V)) return V; in computeSCEVAtScope()
6742 if (const SCEVConstant *BTCC = in computeSCEVAtScope()
6743 dyn_cast<SCEVConstant>(BackedgeTakenCount)) { in computeSCEVAtScope()
6972 static Optional<std::pair<const SCEVConstant *,const SCEVConstant *>>
6975 const SCEVConstant *LC = dyn_cast<SCEVConstant>(AddRec->getOperand(0)); in SolveQuadraticEquation()
6976 const SCEVConstant *MC = dyn_cast<SCEVConstant>(AddRec->getOperand(1)); in SolveQuadraticEquation()
6977 const SCEVConstant *NC = dyn_cast<SCEVConstant>(AddRec->getOperand(2)); in SolveQuadraticEquation()
7029 return std::make_pair(cast<SCEVConstant>(SE.getConstant(Solution1)), in SolveQuadraticEquation()
7030 cast<SCEVConstant>(SE.getConstant(Solution2))); in SolveQuadraticEquation()
7045 if (const SCEVConstant *C = dyn_cast<SCEVConstant>(V)) { in howFarToZero()
7065 const SCEVConstant *R1 = Roots->first; in howFarToZero()
7066 const SCEVConstant *R2 = Roots->second; in howFarToZero()
7109 const SCEVConstant *StepC = dyn_cast<SCEVConstant>(Step); in howFarToZero()
7207 if (const SCEVConstant *StartC = dyn_cast<SCEVConstant>(Start)) { in howFarToZero()
7223 if (const SCEVConstant *C = dyn_cast<SCEVConstant>(V)) { in howFarToNonZero()
7290 if (const SCEVConstant *LHSC = dyn_cast<SCEVConstant>(LHS)) { in SimplifyICmpOperands()
7292 if (const SCEVConstant *RHSC = dyn_cast<SCEVConstant>(RHS)) { in SimplifyICmpOperands()
7320 if (const SCEVConstant *RC = dyn_cast<SCEVConstant>(RHS)) { in SimplifyICmpOperands()
7784 !isa<SCEVConstant>(ConstOp) || NonConstOp != X) in isKnownPredicateViaNoOverflow()
7787 OutY = cast<SCEVConstant>(ConstOp)->getAPInt(); in isKnownPredicateViaNoOverflow()
8119 if (isa<SCEVConstant>(RHS)) { in isImpliedCond()
8135 if (isa<SCEVConstant>(RHS)) in isImpliedCond()
8151 (isa<SCEVConstant>(FoundLHS) || isa<SCEVConstant>(FoundRHS))) { in isImpliedCond()
8153 const SCEVConstant *C = nullptr; in isImpliedCond()
8156 if (isa<SCEVConstant>(FoundLHS)) { in isImpliedCond()
8157 C = cast<SCEVConstant>(FoundLHS); in isImpliedCond()
8160 C = cast<SCEVConstant>(FoundRHS); in isImpliedCond()
8263 if (isa<SCEVConstant>(Less) && isa<SCEVConstant>(More)) { in computeConstantDifference()
8264 const auto &M = cast<SCEVConstant>(More)->getAPInt(); in computeConstantDifference()
8265 const auto &L = cast<SCEVConstant>(Less)->getAPInt(); in computeConstantDifference()
8273 if (const auto *LC = dyn_cast<SCEVConstant>(L)) in computeConstantDifference()
8280 if (const auto *LC = dyn_cast<SCEVConstant>(L)) in computeConstantDifference()
8544 if (!isa<SCEVConstant>(RHS) || !isa<SCEVConstant>(FoundRHS)) in isImpliedCondOperandsViaRanges()
8551 !isa<SCEVConstant>(AddLHS->getOperand(0))) in isImpliedCondOperandsViaRanges()
8554 APInt ConstFoundRHS = cast<SCEVConstant>(FoundRHS)->getAPInt(); in isImpliedCondOperandsViaRanges()
8563 APInt Addend = cast<SCEVConstant>(AddLHS->getOperand(0))->getAPInt(); in isImpliedCondOperandsViaRanges()
8568 APInt ConstRHS = cast<SCEVConstant>(RHS)->getAPInt(); in isImpliedCondOperandsViaRanges()
8700 if (isa<SCEVConstant>(BECount)) in howManyLessThans()
8777 if (isa<SCEVConstant>(BECount)) in howManyGreaterThans()
8795 if (const SCEVConstant *SC = dyn_cast<SCEVConstant>(getStart())) in getNumIterationsInRange()
8810 if (any_of(operands(), [](const SCEV *Op) { return !isa<SCEVConstant>(Op); })) in getNumIterationsInRange()
8831 APInt A = cast<SCEVConstant>(getOperand(1))->getAPInt(); in getNumIterationsInRange()
8865 const SCEVConstant *R1 = Roots->first; in getNumIterationsInRange()
8866 const SCEVConstant *R2 = Roots->second; in getNumIterationsInRange()
8913 } else if (const SCEVConstant *C = dyn_cast<SCEVConstant>(S)) { in follow()
9092 if (!isa<SCEVConstant>(Op)) in findArrayDimensionsRec()
9116 return isa<SCEVConstant>(E); in findArrayDimensionsRec()
9174 if (isa<SCEVConstant>(T)) in removeConstantFactors()
9183 if (!isa<SCEVConstant>(Op)) in removeConstantFactors()
10069 const SCEVConstant *RHS) { in getEqualPredicate()
10208 const SCEVConstant *RHS) in SCEVEqualPredicate()
10273 if (const auto *Step = dyn_cast<SCEVConstant>(AR->getStepRecurrence(SE))) in getImpliedFlags()