Home
last modified time | relevance | path

Searched refs:AddRec (Results 1 – 11 of 11) sorted by relevance

/freebsd-14.2/contrib/llvm-project/llvm/lib/Analysis/
H A DDependenceAnalysis.cpp965 if (!AddRec) in checkSubscript()
1112 if (AddRec->isAffine()) { in isKnownLessThan()
1134 if (AddRec->isAffine()) { in isKnownNonNegative()
2525 Inner = AddRec->getStart(); in gcdMIVtest()
2542 Inner = AddRec->getStart(); in gcdMIVtest()
3084 if (!AddRec) in findCoefficient()
3100 if (!AddRec) in zeroCoefficient()
3103 return AddRec->getStart(); in zeroCoefficient()
3128 return AddRec->getStart(); in addToCoefficient()
3138 AddRec->getStepRecurrence(*SE), AddRec->getLoop(), in addToCoefficient()
[all …]
H A DLoads.cpp281 auto *AddRec = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(Ptr)); in isDereferenceableAndAlignedInLoop() local
282 if (!AddRec || AddRec->getLoop() != L || !AddRec->isAffine()) in isDereferenceableAndAlignedInLoop()
284 auto* Step = dyn_cast<SCEVConstant>(AddRec->getStepRecurrence(SE)); in isDereferenceableAndAlignedInLoop()
304 assert(SE.isLoopInvariant(AddRec->getStart(), L) && in isDereferenceableAndAlignedInLoop()
307 if (auto *StartS = dyn_cast<SCEVUnknown>(AddRec->getStart())) { in isDereferenceableAndAlignedInLoop()
309 } else if (auto *StartS = dyn_cast<SCEVAddExpr>(AddRec->getStart())) { in isDereferenceableAndAlignedInLoop()
H A DScalarEvolution.cpp3279 AddRec->getNoWrapFlags(ComputeFlags({Scale, AddRec})); in getMulExpr()
3374 if (!AddRec) in getMulExpr()
7079 const SCEV *Start = applyLoopGuards(AddRec->getStart(), AddRec->getLoop()); in getRangeForAffineNoSelfWrappingAR()
9865 NewOps, AddRec->getLoop(), AddRec->getNoWrapFlags(SCEV::FlagNW)); in computeSCEVAtScope()
9870 if (!AddRec) in computeSCEVAtScope()
9882 return AddRec; in computeSCEVAtScope()
9888 return AddRec; in computeSCEVAtScope()
10395 if (!AddRec || AddRec->getLoop() != L) in howFarToZero()
10400 if (AddRec->isQuadratic() && AddRec->getType()->isIntegerTy()) { in howFarToZero()
14570 if (!AddRec) in convertSCEVToAddRecWithPredicates()
[all …]
H A DIVDescriptors.cpp1414 auto *AddRec = dyn_cast<SCEVAddRecExpr>(PSE.getSCEV(Val)); in getCastsForInductionPHI() local
1415 if (AddRec && PSE.areAddRecsEqualWithPreds(AddRec, AR)) in getCastsForInductionPHI()
/freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DInductiveRangeCheckElimination.cpp315 const auto *AddRec = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(LHS)); in parseIvAgaisntLimit() local
316 if (!AddRec) in parseIvAgaisntLimit()
329 Index = AddRec; in parseIvAgaisntLimit()
337 Index = AddRec; in parseIvAgaisntLimit()
345 Index = AddRec; in parseIvAgaisntLimit()
355 Index = AddRec; in parseIvAgaisntLimit()
388 const auto *AddRec = dyn_cast<SCEVAddRecExpr>(IV); in reassociateSubLHS() local
389 if (!AddRec) in reassociateSubLHS()
477 Index = AddRec; in reassociateSubLHS()
H A DLoopFuse.cpp1301 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(S); in accessDiffIsPositive() local
1302 if (!AddRec) in accessDiffIsPositive()
1304 return !DT.dominates(L0Header, AddRec->getLoop()->getHeader()) && in accessDiffIsPositive()
1305 !DT.dominates(AddRec->getLoop()->getHeader(), L0Header); in accessDiffIsPositive()
H A DLoopStrengthReduce.cpp6833 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(&PN)); in canFoldTermCondOfLoop() local
6835 if (!AddRec || !AddRec->isAffine()) { in canFoldTermCondOfLoop()
6851 if (!AddRec->hasNoSelfWrap() || in canFoldTermCondOfLoop()
6852 !SE.isKnownNonZero(AddRec->getStepRecurrence(SE))) in canFoldTermCondOfLoop()
6855 const SCEVAddRecExpr *PostInc = AddRec->getPostIncExpr(SE); in canFoldTermCondOfLoop()
/freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DSimplifyIndVar.cpp1432 const SCEVAddRecExpr *AddRec = in getExtendedOperandRecurrence() local
1435 if (!AddRec || AddRec->getLoop() != L) in getExtendedOperandRecurrence()
1438 return {AddRec, ExtKind}; in getExtendedOperandRecurrence()
1475 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(WideExpr); in getWideRecurrence() local
1476 if (!AddRec || AddRec->getLoop() != L) in getWideRecurrence()
1478 return {AddRec, ExtKind}; in getWideRecurrence()
1920 if (!AddRec) in createWideIV()
1925 ? SE->getSignExtendExpr(AddRec, WideType) in createWideIV()
1932 AddRec = dyn_cast<SCEVAddRecExpr>(WideIVExpr); in createWideIV()
1933 if (!AddRec || AddRec->getLoop() != L) in createWideIV()
[all …]
H A DLoopUtils.cpp1452 if (auto *AddRec = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(Inst))) in rewriteLoopExitValues() local
1453 if (AddRec->getLoop() == L) in rewriteLoopExitValues()
1454 ExitValue = AddRec->evaluateAtIteration(ExitCount, *SE); in rewriteLoopExitValues()
/freebsd-14.2/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DTargetTransformInfoImpl.h994 const SCEVAddRecExpr *AddRec = cast<SCEVAddRecExpr>(Ptr); in getConstantStrideStep() local
995 return dyn_cast<SCEVConstant>(AddRec->getStepRecurrence(*SE)); in getConstantStrideStep()
H A DScalarEvolution.h1294 void setNoWrapFlags(SCEVAddRecExpr *AddRec, SCEV::NoWrapFlags Flags);
1672 ConstantRange getRangeForAffineNoSelfWrappingAR(const SCEVAddRecExpr *AddRec,