| /llvm-project-15.0.7/llvm/lib/Analysis/ |
| H A D | DependenceAnalysis.cpp | 902 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 D | ScalarEvolution.cpp | 3302 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 D | Loads.cpp | 286 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 D | SCEVValidator.cpp | 503 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 D | SCEVAffinator.cpp | 175 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 D | SimplifyIndVar.cpp | 1396 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 D | multidim_only_ivs_2d.ll | 13 ; AddRec: {{0,+,(%m * 8)}<%for.i>,+,8}<%for.j> 20 ; AddRec: {{%A,+,(8 * %m)}<%for.i>,+,8}<%for.j>
|
| H A D | divide_by_one.ll | 13 ; 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 D | type_mismatch.ll | 6 ; function tries to create an AddRec where the start and step are different
|
| H A D | iv_times_constant_in_subscript.ll | 11 ; AddRec: {{((%m * %b * 8) + %A),+,(2 * %m * 8)}<%for.i>,+,(2 * 8)}<%for.j>
|
| H A D | multidim_only_ivs_3d.ll | 11 ; AddRec: {{{%A,+,(8 * %m * %o)}<%for.i>,+,(8 * %o)}<%for.j>,+,8}<%for.k>
|
| H A D | multidim_ivs_and_integer_offsets_3d.ll | 11 ; AddRec: {{{(56 + (8 * (-4 + (3 * %m)) * %o) + %A),+,(8 * %m * %o)}<%for.i>,+,(8 * %o)}<%for.j>,+,…
|
| H A D | multidim_ivs_and_parameteric_offsets_3d.ll | 11 ; AddRec: {{{((8 * ((((%m * %p) + %q) * %o) + %r)) + %A),+,(8 * %m * %o)}<%for.i>,+,(8 * %o)}<%for.…
|
| H A D | multidim_only_ivs_3d_cast.ll | 10 ; 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 D | invalid_add_rec_after_invariant_load_remapping.ll | 4 ; 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 D | 2012-01-02-nopreheader.ll | 10 ; This involves a nested AddRec, the outer AddRec's loop invariant components
|
| H A D | ivchain.ll | 5 ; A sign extend feeds an IVUser and cannot be hoisted into the AddRec.
|
| /llvm-project-15.0.7/llvm/test/Analysis/ScalarEvolution/ |
| H A D | pr35890.ll | 6 ; Check that it does not crash because SCEVAddRec's step is not an AddRec.
|
| H A D | inner-loop-by-latch-cond-unknown.ll | 24 ; isKnownPredicate with AddRec for %i and unknown SCEV for %b.
|
| H A D | scev-expander-reuse-vect.ll | 3 ; SCEV expansion uses existing value when the SCEV has no AddRec expr.
|
| H A D | max-addrec-size.ll | 4 ; AddRec size.
|
| /llvm-project-15.0.7/llvm/test/Transforms/LoopVectorize/AArch64/ |
| H A D | backedge-overflow.ll | 5 ; 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 D | non-constant-add-rec-start-expr.ll | 7 ; 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 D | inner-loop.ll | 26 ; SCEV at %cmp would not be AddRec.
|
| /llvm-project-15.0.7/llvm/test/Transforms/LoopVectorize/ |
| H A D | pr31190.ll | 5 ; is a SCEV AddRec with respect to an outer loop.
|