Home
last modified time | relevance | path

Searched refs:SCEVConstant (Results 1 – 25 of 41) sorted by relevance

12

/freebsd/contrib/llvm-project/llvm/lib/Target/PowerPC/
H A DPPCLoopInstrFormPrep.cpp661 const SCEVConstant *BasePtrIncConstantSCEV = in rewriteForBase()
662 dyn_cast<SCEVConstant>(BasePtrIncSCEV); in rewriteForBase()
784 (isa<SCEVConstant>(Element.Offset) && in rewriteForBucketElement()
785 cast<SCEVConstant>(Element.Offset)->getValue()->isZero())) { in rewriteForBucketElement()
906 unsigned Remainder = cast<SCEVConstant>(BucketChain.Elements[j].Offset) in prepareBaseForDispFormChain()
952 E.Offset = cast<SCEVConstant>(SE->getMinusSCEV(E.Offset, Offset)); in prepareBaseForDispFormChain()
954 E.Offset = cast<SCEVConstant>(SE->getNegativeSCEV(Offset)); in prepareBaseForDispFormChain()
990 cast<SCEVConstant>(BucketChain.Elements[j].Offset)->isZero()) in prepareBaseForUpdateFormChain()
997 E.Offset = cast<SCEVConstant>(SE->getMinusSCEV(E.Offset, Offset)); in prepareBaseForUpdateFormChain()
999 E.Offset = cast<SCEVConstant>(SE->getNegativeSCEV(Offset)); in prepareBaseForUpdateFormChain()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DDependenceAnalysis.cpp550 if (isa<SCEVConstant>(Y->getD())) { in intersectConstraints()
593 const SCEVConstant *C1A2_C2A1 = in intersectConstraints()
594 dyn_cast<SCEVConstant>(SE->getMinusSCEV(C1A2, C2A1)); in intersectConstraints()
595 const SCEVConstant *C1B2_C2B1 = in intersectConstraints()
596 dyn_cast<SCEVConstant>(SE->getMinusSCEV(C1B2, C2B1)); in intersectConstraints()
597 const SCEVConstant *A1B2_A2B1 = in intersectConstraints()
598 dyn_cast<SCEVConstant>(SE->getMinusSCEV(A1B2, A2B1)); in intersectConstraints()
599 const SCEVConstant *A2B1_A1B2 = in intersectConstraints()
600 dyn_cast<SCEVConstant>(SE->getMinusSCEV(A2B1, A1B2)); in intersectConstraints()
629 if (const SCEVConstant *CUB = in intersectConstraints()
[all …]
H A DScalarEvolution.cpp276 cast<SCEVConstant>(this)->getValue()->printAsOperand(OS, false); in print()
387 return cast<SCEVConstant>(this)->getType(); in getType()
457 const SCEVConstant *SC = dyn_cast<SCEVConstant>(Mul->getOperand(0)); in isNonConstantNegative()
477 SCEV *S = new (SCEVAllocator) SCEVConstant(ID.Intern(SCEVAllocator), V); in getConstant()
685 const SCEVConstant *LC = cast<SCEVConstant>(LHS); in CompareSCEVComplexity()
686 const SCEVConstant *RC = cast<SCEVConstant>(RHS); in CompareSCEVComplexity()
832 const SCEVConstant *Folded = nullptr; in constantFoldAndGroupOps()
835 if (const auto *C = dyn_cast<SCEVConstant>(Op)) { in constantFoldAndGroupOps()
839 Folded = cast<SCEVConstant>( in constantFoldAndGroupOps()
1158 if (const SCEVConstant *SC = dyn_cast<SCEVConstant>(Op)) in getTruncateExpr()
[all …]
H A DDelinearization.cpp208 if (!isa<SCEVConstant>(Op)) in findArrayDimensionsRec()
231 erase_if(Terms, [](const SCEV *E) { return isa<SCEVConstant>(E); }); in findArrayDimensionsRec()
258 if (isa<SCEVConstant>(T)) in removeConstantFactors()
267 if (!isa<SCEVConstant>(Op)) in removeConstantFactors()
496 if (auto *Const = dyn_cast<SCEVConstant>(Expr)) in getIndexExpressionsFromGEP()
H A DScalarEvolutionDivision.cpp108 void SCEVDivision::visitConstant(const SCEVConstant *Numerator) { in visitConstant()
109 if (const SCEVConstant *D = dyn_cast<SCEVConstant>(Denominator)) { in visitConstant()
H A DLoopCacheAnalysis.cpp113 isa<SCEVConstant>(BackedgeTakenCount)) in computeTripCount()
191 const SCEVConstant *Diff = dyn_cast<SCEVConstant>( in hasSpacialReuse()
246 const SCEVConstant *SCEVConst = dyn_cast_or_null<SCEVConstant>(Distance); in hasTemporalReuse()
346 if (auto ConstantCost = dyn_cast<SCEVConstant>(RefCost)) in computeRefCost()
H A DLoopUnrollAnalyzer.cpp37 if (auto *SC = dyn_cast<SCEVConstant>(S)) { in simplifyInstWithSCEV()
53 if (auto *SC = dyn_cast<SCEVConstant>(ValueAtIteration)) { in simplifyInstWithSCEV()
H A DIVDescriptors.cpp1378 if (isa<SCEVConstant>(Step)) in getConstIntStepValue()
1379 return dyn_cast<ConstantInt>(cast<SCEVConstant>(Step)->getValue()); in getConstIntStepValue()
1627 const SCEVConstant *ConstStep = dyn_cast<SCEVConstant>(Step); in isInductionPHI()
H A DLoads.cpp313 auto *Step = dyn_cast<SCEVConstant>(AddRec->getStepRecurrence(SE)); in isDereferenceableAndAlignedInLoop()
367 const auto *Offset = dyn_cast<SCEVConstant>(MinAdd->getOperand(0)); in isDereferenceableAndAlignedInLoop()
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DScalarEvolutionPatternMatch.h31 auto *C = dyn_cast<SCEVConstant>(S); in match()
64 inline class_match<const SCEVConstant> m_SCEVConstant() { in m_SCEVConstant()
65 return class_match<const SCEVConstant>(); in m_SCEVConstant()
87 inline bind_ty<const SCEVConstant> m_SCEVConstant(const SCEVConstant *&V) { in m_SCEVConstant()
123 auto *C = dyn_cast<SCEVConstant>(S); in match()
H A DScalarEvolutionDivision.h49 void visitConstant(const SCEVConstant *Numerator);
H A DScalarEvolutionExpressions.h61 class SCEVConstant : public SCEV {
66 SCEVConstant(const FoldingSetNodeIDRef ID, ConstantInt *v) in SCEVConstant() function
615 return ((SC *)this)->visitConstant((const SCEVConstant *)S); in visit()
773 const SCEV *visitConstant(const SCEVConstant *Constant) { return Constant; } in visitConstant()
H A DDependenceAnalysis.h54 class SCEVConstant; variable
621 const SCEVConstant *collectConstantUpperBound(const Loop *l, Type *T) const;
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DAlignmentFromAssumptions.cpp59 if (const SCEVConstant *ConstDUSCEV = in getNewAlignmentDiff()
60 dyn_cast<SCEVConstant>(DiffUnitsSCEV)) { in getNewAlignmentDiff()
67 return cast<SCEVConstant>(AlignSCEV)->getValue()->getAlignValue(); in getNewAlignmentDiff()
174 if (!isa<SCEVConstant>(AlignSCEV)) in extractAlignmentInfo()
178 if (!cast<SCEVConstant>(AlignSCEV)->getAPInt().isPowerOf2()) in extractAlignmentInfo()
H A DLoopStrengthReduce.cpp840 const SCEVConstant *RC = dyn_cast<SCEVConstant>(RHS); in getExactSDiv()
856 if (const SCEVConstant *C = dyn_cast<SCEVConstant>(LHS)) { in getExactSDiv()
903 const SCEVConstant *LC = dyn_cast<SCEVConstant>(Mul->getOperand(0)); in getExactSDiv()
904 const SCEVConstant *RC = in getExactSDiv()
905 dyn_cast<SCEVConstant>(MulRHS->getOperand(0)); in getExactSDiv()
1148 if (isa<SCEVConstant>(Op0)) in isHighCostExpansion()
1378 if (isa<SCEVUnknown>(Reg) || isa<SCEVConstant>(Reg)) in getSetupCost()
1426 const SCEVConstant *Step; in RateRegister()
1432 (AMK == TTI::AMK_PostIndexed && !isa<SCEVConstant>(Start) && in RateRegister()
1445 if (!AR->isAffine() || !isa<SCEVConstant>(AR->getOperand(1))) { in RateRegister()
[all …]
H A DLoopDataPrefetch.cpp161 const auto *ConstStride = dyn_cast<SCEVConstant>(AR->getStepRecurrence(*SE)); in isStrideLargeEnough()
358 if (const SCEVConstant *ConstPtrDiff = in runOnLoop()
359 dyn_cast<SCEVConstant>(PtrDiff)) { in runOnLoop()
H A DLoopIdiomRecognize.cpp386 const SCEVConstant *ConstStride = cast<SCEVConstant>(StoreEv->getOperand(1)); in getStoreStride()
467 const SCEVConstant *Stride; in isLegalStore()
1090 const SCEVConstant *ConstStoreSize = dyn_cast<SCEVConstant>(StoreSizeSCEV); in processLoopStridedStore()
1141 assert(isa<SCEVConstant>(StoreSizeSCEV) && "Expected constant store size"); in processLoopStridedStore()
1299 const SCEVConstant *ConstStoreSize = dyn_cast<SCEVConstant>(StoreSizeSCEV); in processLoopStoreOfLoopLoad()
1660 if (!isa<SCEVConstant>(AddRecEv->getStepRecurrence(*SE))) in isValidStrlenIdiom()
1792 const SCEVConstant *Step = in recognizeAndInsertStrLen()
1793 dyn_cast<SCEVConstant>(AddRecEv->getStepRecurrence(*SE)); in recognizeAndInsertStrLen()
H A DInductiveRangeCheckElimination.cpp705 const SCEVConstant *B = dyn_cast<SCEVConstant>( in computeSafeIterationSpace()
712 const SCEVConstant *D = dyn_cast<SCEVConstant>(getStep()); in computeSafeIterationSpace()
H A DLoopBoundSplit.cpp143 if (!isa<SCEVConstant>(StepRecSCEV)) in hasProcessableCondition()
146 ConstantInt *StepCI = cast<SCEVConstant>(StepRecSCEV)->getValue(); in hasProcessableCondition()
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DMVETailPredication.cpp241 auto *Step = dyn_cast<SCEVConstant>(AddExpr->getOperand(1)); in IsSafeActiveMask()
350 if (auto *BaseC = dyn_cast<SCEVConstant>(AddExpr->getStart())) { in IsSafeActiveMask()
361 if (auto *BaseC = dyn_cast<SCEVConstant>(BaseMul->getOperand(0))) in IsSafeActiveMask()
364 if (auto *BaseC = dyn_cast<SCEVConstant>(BaseMul->getOperand(1))) in IsSafeActiveMask()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DEVLIndVarSimplify.cpp69 if (const auto *Const = dyn_cast<SCEVConstant>(LHS); in getVFFromIndVar()
81 if (const auto *ConstStep = dyn_cast<SCEVConstant>(Step)) { in getVFFromIndVar()
H A DVPlanUtils.cpp32 if (auto *E = dyn_cast<SCEVConstant>(Expr)) in getOrCreateVPValueForSCEVExpr()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLoopConstrainer.cpp235 if (!isa<SCEVConstant>(StepRec)) { in parseLoopStructure()
239 ConstantInt *StepCI = cast<SCEVConstant>(StepRec)->getValue(); in parseLoopStructure()
750 const SCEVConstant *MinusOneS = in run()
751 cast<SCEVConstant>(SE.getConstant(IVTy, -1, true /* isSigned */)); in run()
H A DScalarEvolutionExpander.cpp669 if (const SCEVConstant *SC = dyn_cast<SCEVConstant>(S->getRHS())) { in visitUDivExpr()
1464 if (isa<SCEVConstant>(S) || isa<SCEVUnknown>(S)) in FindValueInExprValueMap()
1505 if (const auto *SC = dyn_cast<SCEVConstant>(D->getRHS())) in expand()
1731 auto *Const = dyn_cast<SCEVConstant>(SE.getSCEV(PN)); in replaceCongruentIVs()
1899 if (auto *SC = dyn_cast<SCEVConstant>(S->getOperand(1))) in costAndCollectOperands()
1977 if (!isa<SCEVConstant>(S) && !Processed.insert(S).second) in isHighCostExpansionHelper()
2001 const APInt &Imm = cast<SCEVConstant>(S)->getAPInt(); in isHighCostExpansionHelper()
/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DHexagonLoopIdiomRecognition.cpp1780 if (auto *CV = dyn_cast<SCEVConstant>(CT)) in recognize()
1905 if (const SCEVConstant *SC = dyn_cast<SCEVConstant>(S->getOperand(1))) in getSCEVStride()
1975 if (const SCEVConstant *BECst = dyn_cast<SCEVConstant>(BECount)) in mayLoopAccessLocation()

12