Home
last modified time | relevance | path

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

12

/llvm-project-15.0.7/llvm/lib/Analysis/
H A DDependenceAnalysis.cpp902 if (!AddRec) in checkSubscript()
1049 if (AddRec->isAffine()) { in isKnownLessThan()
1071 if (AddRec->isAffine()) { in isKnownNonNegative()
2462 Inner = AddRec->getStart(); in gcdMIVtest()
2479 Inner = AddRec->getStart(); in gcdMIVtest()
3021 if (!AddRec) in findCoefficient()
3037 if (!AddRec) in zeroCoefficient()
3040 return AddRec->getStart(); in zeroCoefficient()
3065 return AddRec->getStart(); in addToCoefficient()
3075 AddRec->getStepRecurrence(*SE), AddRec->getLoop(), in addToCoefficient()
[all …]
H A DScalarEvolution.cpp3302 if (!AddRec) in getMulExpr()
6559 AddRec->getStart(), AddRec->getStepRecurrence(*this), MaxBECount, in getRangeRef()
6565 AddRec->getStart(), AddRec->getStepRecurrence(*this), MaxBECount, in getRangeRef()
7990 if (!AddRec) in getConstantMaxTripCountFromArray()
9760 if (!AddRec) in computeSCEVAtScope()
9777 return AddRec; in computeSCEVAtScope()
10144 if (!AddRec || AddRec->getLoop() != L) in howFarToZero()
10149 if (AddRec->isQuadratic() && AddRec->getType()->isIntegerTy()) { in howFarToZero()
10161 if (!AddRec->isAffine()) in howFarToZero()
14163 if (!AddRec) in convertSCEVToAddRecWithPredicates()
[all …]
H A DLoads.cpp286 auto *AddRec = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(Ptr)); in isDereferenceableAndAlignedInLoop() local
287 if (!AddRec || AddRec->getLoop() != L || !AddRec->isAffine()) in isDereferenceableAndAlignedInLoop()
289 auto* Step = dyn_cast<SCEVConstant>(AddRec->getStepRecurrence(SE)); in isDereferenceableAndAlignedInLoop()
302 auto *StartS = dyn_cast<SCEVUnknown>(AddRec->getStart()); in isDereferenceableAndAlignedInLoop()
/llvm-project-15.0.7/polly/lib/Support/
H A DSCEVValidator.cpp503 if (auto AddRec = dyn_cast<SCEVAddRecExpr>(S)) { in follow() local
507 auto *L = AddRec->getLoop(); in follow()
528 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(S)) in follow() local
529 Loops.insert(AddRec->getLoop()); in follow()
677 auto *AddRec = dyn_cast<SCEVAddRecExpr>(S); in extractConstantFactor() local
678 if (AddRec) { in extractConstantFactor()
679 auto *StartExpr = AddRec->getStart(); in extractConstantFactor()
681 auto StepPair = extractConstantFactor(AddRec->getStepRecurrence(SE), SE); in extractConstantFactor()
683 SE.getAddRecExpr(StartExpr, StepPair.second, AddRec->getLoop(), in extractConstantFactor()
684 AddRec->getNoWrapFlags()); in extractConstantFactor()
H A DSCEVAffinator.cpp175 auto *AddRec = dyn_cast<SCEVAddRecExpr>(CachedPair.first.first); in hasNSWAddRecForLoop() local
176 if (!AddRec) in hasNSWAddRecForLoop()
178 if (AddRec->getLoop() != L) in hasNSWAddRecForLoop()
180 if (AddRec->getNoWrapFlags() & SCEV::FlagNSW) in hasNSWAddRecForLoop()
/llvm-project-15.0.7/llvm/lib/Transforms/Utils/
H A DSimplifyIndVar.cpp1396 const SCEVAddRecExpr *AddRec = in getExtendedOperandRecurrence() local
1399 if (!AddRec || AddRec->getLoop() != L) in getExtendedOperandRecurrence()
1402 return {AddRec, ExtKind}; in getExtendedOperandRecurrence()
1439 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(WideExpr); in getWideRecurrence() local
1440 if (!AddRec || AddRec->getLoop() != L) in getWideRecurrence()
1442 return {AddRec, ExtKind}; in getWideRecurrence()
1881 if (!AddRec) in createWideIV()
1886 ? SE->getSignExtendExpr(AddRec, WideType) in createWideIV()
1893 AddRec = dyn_cast<SCEVAddRecExpr>(WideIVExpr); in createWideIV()
1894 if (!AddRec || AddRec->getLoop() != L) in createWideIV()
[all …]
/llvm-project-15.0.7/llvm/test/Analysis/Delinearization/
H A Dmultidim_only_ivs_2d.ll13 ; AddRec: {{0,+,(%m * 8)}<%for.i>,+,8}<%for.j>
20 ; AddRec: {{%A,+,(8 * %m)}<%for.i>,+,8}<%for.j>
H A Ddivide_by_one.ll13 ; AddRec: {{(-1 + ((1 + %bs) * %stride)),+,(-1 * %stride)}<%for.cond1.preheader>,+,1}<nw><%for.body…
19 ; AddRec: {{(%stride * %bs),+,(-1 * %stride)}<%for.cond1.preheader>,+,1}<nw><%for.body3>
H A Dtype_mismatch.ll6 ; function tries to create an AddRec where the start and step are different
H A Div_times_constant_in_subscript.ll11 ; AddRec: {{((%m * %b * 8) + %A),+,(2 * %m * 8)}<%for.i>,+,(2 * 8)}<%for.j>
H A Dmultidim_only_ivs_3d.ll11 ; AddRec: {{{%A,+,(8 * %m * %o)}<%for.i>,+,(8 * %o)}<%for.j>,+,8}<%for.k>
H A Dmultidim_ivs_and_integer_offsets_3d.ll11 ; AddRec: {{{(56 + (8 * (-4 + (3 * %m)) * %o) + %A),+,(8 * %m * %o)}<%for.i>,+,(8 * %o)}<%for.j>,+,…
H A Dmultidim_ivs_and_parameteric_offsets_3d.ll11 ; AddRec: {{{((8 * ((((%m * %p) + %q) * %o) + %r)) + %A),+,(8 * %m * %o)}<%for.i>,+,(8 * %o)}<%for.…
H A Dmultidim_only_ivs_3d_cast.ll10 ; AddRec: {{{%A,+,(8 * (zext i32 %m to i64) * (zext i32 %o to i64))}<%for.i>,+,(8 * (zext i32 %o to…
/llvm-project-15.0.7/polly/test/ScopInfo/
H A Dinvalid_add_rec_after_invariant_load_remapping.ll4 ; for invariant loads and when we remap SCEVs to use %4 instead of %1 AddRec SCEVs
7 ; rewrite the AddRecs to hoist everything from the "start" out of the AddRec.
/llvm-project-15.0.7/llvm/test/Transforms/LoopStrengthReduce/
H A D2012-01-02-nopreheader.ll10 ; This involves a nested AddRec, the outer AddRec's loop invariant components
H A Divchain.ll5 ; A sign extend feeds an IVUser and cannot be hoisted into the AddRec.
/llvm-project-15.0.7/llvm/test/Analysis/ScalarEvolution/
H A Dpr35890.ll6 ; Check that it does not crash because SCEVAddRec's step is not an AddRec.
H A Dinner-loop-by-latch-cond-unknown.ll24 ; isKnownPredicate with AddRec for %i and unknown SCEV for %b.
H A Dscev-expander-reuse-vect.ll3 ; SCEV expansion uses existing value when the SCEV has no AddRec expr.
H A Dmax-addrec-size.ll4 ; AddRec size.
/llvm-project-15.0.7/llvm/test/Transforms/LoopVectorize/AArch64/
H A Dbackedge-overflow.ll5 ; icmp with one of the sides being a loop varying non-AddRec expression.
6 ; However, there is a possibility to normalize this to an AddRec expression
/llvm-project-15.0.7/polly/test/ScopDetect/
H A Dnon-constant-add-rec-start-expr.ll7 ; an AddRec expression with a non-constant step expression. This got missed, as
/llvm-project-15.0.7/llvm/test/Transforms/IndVarSimplify/X86/
H A Dinner-loop.ll26 ; SCEV at %cmp would not be AddRec.
/llvm-project-15.0.7/llvm/test/Transforms/LoopVectorize/
H A Dpr31190.ll5 ; is a SCEV AddRec with respect to an outer loop.

12