| /llvm-project-15.0.7/llvm/unittests/Analysis/ |
| H A D | ScalarEvolutionTest.cpp | 99 const SCEV *P0 = SE.getAddExpr(S0, SE.getConstant(S0->getType(), 2)); in TEST_F() 100 const SCEV *P1 = SE.getAddExpr(S1, SE.getConstant(S0->getType(), 2)); in TEST_F() 101 const SCEV *P2 = SE.getAddExpr(S2, SE.getConstant(S0->getType(), 2)); in TEST_F() 253 EXPECT_EQ(SE.getMulExpr(A, B), SE.getMulExpr(B, A)); in TEST_F() 254 EXPECT_EQ(SE.getMulExpr(B, C), SE.getMulExpr(C, B)); in TEST_F() 255 EXPECT_EQ(SE.getMulExpr(A, C), SE.getMulExpr(C, A)); in TEST_F() 429 SE.getAddExpr(SE.getSCEV(A2), SE.getSCEV(A3), SCEV::FlagNUW), in TEST_F() 435 SE.getAddExpr(SE.getSCEV(A3), SE.getSCEV(A4), SCEV::FlagAnyWrap); in TEST_F() 444 SE.getAddExpr(AddWithNSW, SE.getSCEV(A5), SCEV::FlagNUW)); in TEST_F() 449 SE.getAddExpr(SE.getSCEV(A2), SE.getSCEV(A4), in TEST_F() [all …]
|
| H A D | LoopNestTest.cpp | 32 ScalarEvolution SE(*F, TLI, AC, DT, LI); in runTest() local 34 Test(*F, LI, SE); in runTest() 93 LoopNest LN(*L, SE); in TEST() 123 const SmallVector<LoopVectorTy, 4> &PLV = LN.getPerfectLoops(SE); in TEST() 131 EXPECT_TRUE(LN.getInterveningInstructions(OL, *IL, SE).empty()); in TEST() 189 LoopNest LN(*L, SE); in TEST() 208 const SmallVector<LoopVectorTy, 4> &PLV = LN.getPerfectLoops(SE); in TEST() 217 EXPECT_TRUE(LN.getInterveningInstructions(OL, *IL, SE).empty()); in TEST() 275 LoopNest LN(*L, SE); in TEST() 292 const SmallVector<LoopVectorTy, 4> &PLV = LN.getPerfectLoops(SE); in TEST() [all …]
|
| H A D | LoopInfoTest.cpp | 45 ScalarEvolution SE(*F, TLI, AC, DT, LI); in runWithLoopInfoPlus() local 46 Test(*F, LI, SE); in runWithLoopInfoPlus() 262 [&](Function &F, LoopInfo &LI, ScalarEvolution &SE) { in TEST() argument 321 [&](Function &F, LoopInfo &LI, ScalarEvolution &SE) { in TEST() argument 380 [&](Function &F, LoopInfo &LI, ScalarEvolution &SE) { in TEST() argument 439 [&](Function &F, LoopInfo &LI, ScalarEvolution &SE) { in TEST() argument 498 [&](Function &F, LoopInfo &LI, ScalarEvolution &SE) { in TEST() argument 558 [&](Function &F, LoopInfo &LI, ScalarEvolution &SE) { in TEST() argument 617 [&](Function &F, LoopInfo &LI, ScalarEvolution &SE) { in TEST() argument 673 [&](Function &F, LoopInfo &LI, ScalarEvolution &SE) { in TEST() argument [all …]
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Scalar/ |
| H A D | InductiveRangeCheckElimination.cpp | 232 ScalarEvolution &SE; member in __anonfaeb45920111::InductiveRangeCheckElimination 249 : SE(SE), BPI(BPI), DT(DT), LI(LI), GetBFI(GetBFI) {} in InductiveRangeCheckElimination() 297 return SE.isLoopInvariant(SE.getSCEV(V), L); in INITIALIZE_PASS_DEPENDENCY() 698 SE.getMinusSCEV(BoundSCEV, SE.getOne(BoundSCEV->getType())); in isSafeDecreasingBound() 739 SE.getMinusSCEV(Step, SE.getOne(Step->getType())); in isSafeIncreasingBound() 831 SE.getSignExtendExpr(AR->getStepRecurrence(SE), WideTy); in parseLoopStructure() 943 SE.getAddExpr(RightSCEV, SE.getOne(RightSCEV->getType())); in parseLoopStructure() 1657 return SE.getMinusSCEV(X, SE.getSMaxExpr(Y, XMinusSIntMax), in computeSafeIterationSpace() 1670 return SE.getMinusSCEV(X, SE.getSMinExpr(X, Y), SCEV::FlagNUW); in computeSafeIterationSpace() 1687 return SE.getAddExpr(SE.getSMaxExpr(SE.getSMinExpr(X, Zero), NegOne), One); in computeSafeIterationSpace() [all …]
|
| H A D | AlignmentFromAssumptions.cpp | 127 ScalarEvolution *SE) { in getNewAlignment() argument 128 const SCEV *PtrSCEV = SE->getSCEV(Ptr); in getNewAlignment() 132 PtrSCEV = SE->getTruncateOrZeroExtend( in getNewAlignment() 144 DiffSCEV = SE->getAddExpr(DiffSCEV, OffSCEV); in getNewAlignment() 219 AlignSCEV = SE->getSCEV(AlignOB.Inputs[1].get()); in extractAlignmentInfo() 226 OffSCEV = SE->getSCEV(AlignOB.Inputs[2].get()); in extractAlignmentInfo() 228 OffSCEV = SE->getZero(Int64Ty); in extractAlignmentInfo() 245 const SCEV *AASCEV = SE->getSCEV(AAPtr); in processAssumption() 328 return Impl.runImpl(F, AC, SE, DT); in runOnFunction() 334 SE = SE_; in runImpl() [all …]
|
| H A D | LoopBoundSplit.cpp | 107 const SCEV *MaxSCEV = SE.getConstant(Max); in calculateUpperBound() 113 SE.getAddExpr(Cond.BoundSCEV, SE.getOne(BoundSCEVIntType)); in calculateUpperBound() 128 analyzeICmp(SE, ICmp, Cond, L); in hasProcessableCondition() 153 if (!calculateUpperBound(L, SE, Cond, IsExitCond)) in hasProcessableCondition() 169 if (!SE.isSCEVable(LHS->getType())) in isProcessableCondBI() 211 if (!isProcessableCondBI(SE, ExitingBI)) in canSplitLoopBound() 256 if (!isProcessableCondBI(SE, BI)) in findSplitCandidate() 294 if (!canSplitLoopBound(L, DT, SE, ExitingCond)) in splitLoopBound() 383 if (!SE.isSCEVable(PN.getType())) in splitLoopBound() 461 SE.forgetLoop(&L); in splitLoopBound() [all …]
|
| H A D | IndVarSimplify.cpp | 143 ScalarEvolution *SE; member in __anon175dabd40111::IndVarSimplify 179 : LI(LI), SE(SE), DT(DT), DL(DL), TLI(TLI), TTI(TTI), in IndVarSimplify() 428 SE->forgetLoop(L); in rewriteNonIntegerIVs() 573 ScalarEvolution *SE; member in __anon175dabd40211::IndVarSimplifyVisitor 1000 IVOffset = SE->getAddExpr(IVOffset, SE->getOne(OfsTy)); in genLoopLimit() 1040 IVLimit = SE->getAddExpr(IVLimit, SE->getOne(IVLimit->getType())); in genLoopLimit() 1150 const SCEV *TruncatedIV = SE->getTruncateExpr(SE->getSCEV(CmpIndVar), in linearFunctionTestReplace() 1399 if (SE->getTypeSizeInBits(ARTy) > SE->getTypeSizeInBits(MaxIterTy)) in optimizeLoopExitWithUnknownExitCount() 1474 auto RHSCR = SE->getUnsignedRange(SE->applyLoopGuards(SE->getSCEV(RHS), L)); in canonicalizeExitCondition() 1549 auto RHSCR = SE->getUnsignedRange(SE->applyLoopGuards(SE->getSCEV(RHS), L)); in canonicalizeExitCondition() [all …]
|
| H A D | LoopStrengthReduce.cpp | 428 DoInitialMatch(SE.getAddRecExpr(SE.getConstant(AR->getType(), 0), in DoInitialMatch() 719 const SCEV *Step = getExactSDiv(AR->getStepRecurrence(SE), RHS, SE, in getExactSDiv() 1059 L(L), SE(&SE), TTI(&TTI), AMK(AMK) { in Cost() 1944 ScalarEvolution &SE; member in __anon3f0d62640a11::LSRInstance 3241 const SCEV *IVOperExpr = SE.getAddExpr(SE.getUnknown(IVSrc), in GenerateIVChain() 3271 if (!PostIncV || (SE.getSCEV(PostIncV) != SE.getSCEV(IVSrc))) in GenerateIVChain() 3338 SE.getPointerBase(N) == SE.getPointerBase(S))) { in CollectFixupsAndInitialFormulae() 3546 if (SE.hasComputableLoopEvolution(SE.getSCEV(OtherOp), L)) in CollectLoopInvariantFixupsAndFormulae() 5306 else if (SE.getEffectiveSCEVType(Ty) == SE.getEffectiveSCEVType(OpTy)) in Expand() 5700 : IU(IU), SE(SE), DT(DT), LI(LI), AC(AC), TLI(TLI), TTI(TTI), L(L), in LSRInstance() [all …]
|
| H A D | NaryReassociate.cpp | 205 SE = SE_; in runImpl() 284 OrigSCEV = SE->getSCEV(I); in matchAndReassociateMinOrMax() 298 if (!SE->isSCEVable(I->getType())) in tryReassociate() 304 OrigSCEV = SE->getSCEV(I); in tryReassociate() 307 OrigSCEV = SE->getSCEV(I); in tryReassociate() 404 IndexExprs[I] = SE->getSCEV(LHS); in tryReassociateGEPAtIndex() 468 if (SE->getSCEV(I)->isZero()) in tryReassociateBinaryOp() 485 const SCEV *AExpr = SE->getSCEV(A), *BExpr = SE->getSCEV(B); in tryReassociateBinaryOp() 543 return SE->getAddExpr(LHS, RHS); in getBinarySCEV() 545 return SE->getMulExpr(LHS, RHS); in getBinarySCEV() [all …]
|
| H A D | LoopPredication.cpp | 256 ScalarEvolution *SE; member in __anon082da8af0111::LoopPredication 315 : AA(AA), DT(DT), SE(SE), LI(LI), MSSAU(MSSAU){}; in LoopPredication() 385 const SCEV *LHSS = SE->getSCEV(LHS); in parseLoopICmp() 393 if (SE->isLoopInvariant(LHSS, L)) { in parseLoopICmp() 413 if (SE->isLoopInvariant(LHS, L) && SE->isLoopInvariant(RHS, L)) { in expandCheck() 554 if (SE->isLoopInvariant(S, L)) in isLoopInvariantValue() 603 SE->getAddExpr(SE->getMinusSCEV(GuardLimit, GuardStart), in widenICmpRangeCheckIncrementingLoop() 604 SE->getMinusSCEV(LatchStart, SE->getOne(Ty))); in widenICmpRangeCheckIncrementingLoop() 1082 return SE.getCouldNotCompute(); in getMinAnalyzeableBackedgeTakenCount() 1154 SE->forgetLoop(L); in predicateLoopExits() [all …]
|
| /llvm-project-15.0.7/llvm/lib/Analysis/ |
| H A D | LoopCacheAnalysis.cpp | 96 if (!SE.isLoopInvariant(Start, &L) || !SE.isLoopInvariant(Step, &L)) in isOneDimensionalArray() 100 if (StepRec && SE.isKnownNegative(StepRec)) in isOneDimensionalArray() 101 StepRec = SE.getNegativeSCEV(StepRec); in isOneDimensionalArray() 149 : StoreOrLoadInst(StoreOrLoadInst), SE(SE) { in IndexedReference() 327 RefCost = SE.getMulExpr(SE.getNoopOrAnyExtend(RefCost, WiderType), in computeRefCost() 451 if (SE.isLoopInvariant(SE.getSCEV(Addr), &L)) in isLoopInvariant() 489 Stride = SE.getMulExpr(SE.getNoopOrSignExtend(Coeff, WiderType), in isConsecutive() 493 Stride = SE.isKnownNegative(Stride) ? SE.getNegativeSCEV(Stride) : Stride; in isConsecutive() 510 return AR->getStepRecurrence(SE); in getLastCoefficient() 534 if (!SE.isLoopInvariant(Start, &L) || !SE.isLoopInvariant(Step, &L)) in isSimpleAddRecurrence() [all …]
|
| H A D | Delinearization.cpp | 51 ScalarEvolution &SE; member 55 : SE(SE), Strides(S) {} in SCEVCollectStrides() 126 ScalarEvolution &SE; member 130 : Terms(T), SE(SE) {} in SCEVCollectAddRecMultiplies() 155 Terms.push_back(SE.getMulExpr(Operands)); in follow() 214 Step = SE.getMulExpr(Qs); in findArrayDimensionsRec() 273 return SE.getMulExpr(Factors); in removeConstantFactors() 456 collectParametricTerms(SE, Expr, Terms); in delinearize() 569 ScalarEvolution *SE; member in __anona8bc22150611::Delinearization 610 delinearize(*SE, AccessFn, Subscripts, Sizes, SE->getElementSize(&Inst)); in printDelinearization() [all …]
|
| H A D | ScalarEvolutionDivision.cpp | 60 SCEVDivision D(SE, Numerator, Denominator); in divide() 88 divide(SE, *Quotient, Op, &Q, &R); in divide() 123 Quotient = SE.getConstant(QuotientVal); in visitConstant() 134 divide(SE, Numerator->getStepRecurrence(SE), Denominator, &StepQ, &StepR); in visitAddRecExpr() 152 divide(SE, Op, Denominator, &Q, &R); in visitAddExpr() 168 Quotient = SE.getAddExpr(Qs); in visitAddExpr() 169 Remainder = SE.getAddExpr(Rs); in visitAddExpr() 189 divide(SE, Op, Denominator, &Q, &R); in visitMulExpr() 208 Quotient = SE.getMulExpr(Qs); in visitMulExpr() 233 divide(SE, Diff, Denominator, &Q, &R); in visitMulExpr() [all …]
|
| H A D | DependenceAnalysis.cpp | 406 SE = NewSE; in setAny() 1061 SE->getMinusSCEV(S, SE->getSMaxExpr(Size, SE->getOne(Size->getType()))); in isKnownLessThan() 1344 SE->getSMaxExpr(SE->getZero(Delta->getType()), Delta), in weakCrossingSIVtest() 2774 SE->getMulExpr(SE->getMinusSCEV(A[K].NegPart, B[K].PosPart), in findBoundsALL() 2922 return SE->getSMaxExpr(X, SE->getZero(X->getType())); in getPositivePart() 2928 return SE->getSMinExpr(X, SE->getZero(X->getType())); in getNegativePart() 3161 Src = SE->getMinusSCEV(Src, SE->getMulExpr(AP_K, SE->getConstant(CdivB))); in propagateLine() 3175 Src = SE->getAddExpr(Src, SE->getMulExpr(A_K, SE->getConstant(CdivA))); in propagateLine() 3189 Src = SE->getAddExpr(Src, SE->getMulExpr(A_K, SE->getConstant(CdivA))); in propagateLine() 3200 Src = SE->getAddExpr(Src, SE->getMulExpr(A_K, C)); in propagateLine() [all …]
|
| H A D | IVUsers.cpp | 38 return IVUsers(&L, &AR.AC, &AR.LI, &AR.DT, &AR.SE); in run() 70 !isInteresting(AR->getStepRecurrence(*SE), I, L, SE, LI); in isInteresting() 77 if (isInteresting(Op, I, L, SE, LI)) { in isInteresting() 144 if (!SE->isSCEVable(I->getType())) in AddUsersIfInteresting() 166 const SCEV *ISE = SE->getSCEV(I); in AddUsersIfInteresting() 170 if (!isInteresting(ISE, I, L, SE, LI)) in AddUsersIfInteresting() 252 ScalarEvolution *SE) in IVUsers() argument 253 : L(L), AC(AC), LI(LI), DT(DT), SE(SE) { in IVUsers() 319 IU.reset(new IVUsers(L, AC, LI, DT, SE)); in runOnLoop() 338 *SE); in getExpr() [all …]
|
| H A D | ScalarEvolutionNormalization.cpp | 40 ScalarEvolution &SE) in NormalizeDenormalizeRewriter() 55 return SE.getAddRecExpr(Operands, AR->getLoop(), SCEV::FlagAnyWrap); in visitAddRecExpr() 67 Operands[i] = SE.getAddExpr(Operands[i], Operands[i + 1]); in visitAddRecExpr() 91 Operands[i] = SE.getMinusSCEV(Operands[i], Operands[i + 1]); in visitAddRecExpr() 94 return SE.getAddRecExpr(Operands, AR->getLoop(), SCEV::FlagAnyWrap); in visitAddRecExpr() 99 ScalarEvolution &SE) { in normalizeForPostIncUse() argument 103 return NormalizeDenormalizeRewriter(Normalize, Pred, SE).visit(S); in normalizeForPostIncUse() 107 ScalarEvolution &SE) { in normalizeForPostIncUseIf() argument 108 return NormalizeDenormalizeRewriter(Normalize, Pred, SE).visit(S); in normalizeForPostIncUseIf() 113 ScalarEvolution &SE) { in denormalizeForPostIncUse() argument [all …]
|
| H A D | ScalarEvolutionAliasAnalysis.cpp | 27 static bool canComputePointerDiff(ScalarEvolution &SE, in canComputePointerDiff() argument 29 if (SE.getEffectiveSCEVType(A->getType()) != in canComputePointerDiff() 30 SE.getEffectiveSCEVType(B->getType())) in canComputePointerDiff() 33 return SE.instructionCouldExistWitthOperands(A, B); in canComputePointerDiff() 45 const SCEV *AS = SE.getSCEV(const_cast<Value *>(LocA.Ptr)); in alias() 46 const SCEV *BS = SE.getSCEV(const_cast<Value *>(LocB.Ptr)); in alias() 54 if (canComputePointerDiff(SE, AS, BS)) { in alias() 55 unsigned BitWidth = SE.getTypeSizeInBits(AS->getType()); in alias() 64 const SCEV *BA = SE.getMinusSCEV(BS, AS); in alias() 70 ASizeInt.ule(SE.getUnsignedRange(BA).getUnsignedMin()) && in alias() [all …]
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Utils/ |
| H A D | ScalarEvolutionExpander.cpp | 191 SE.getTypeSizeInBits(Ty) == SE.getTypeSizeInBits(V->getType())) { in InsertNoopCastOfTo() 1147 SE.getSignExtendExpr(SE.getAddExpr(AR, Step), WideTy); in IsIncrementNSW() 1161 SE.getZeroExtendExpr(SE.getAddExpr(AR, Step), WideTy); in IsIncrementNUW() 1374 SE.getAddRecExpr(Start, Normalized->getStepRecurrence(SE), in expandAddRecExprLiterally() 1620 SE.getMulExpr(SE.getUnknown(CanonicalIV), in visitAddRecExpr() 1938 if (Value *V = simplifyInstruction(PN, {DL, &SE.TLI, &SE.DT, &SE.AC})) in replaceCongruentIVs() 2072 if (SE.getSCEV(LHS) == S && SE.DT.dominates(LHS, At)) in getRelatedExistingExpansion() 2075 if (SE.getSCEV(RHS) == S && SE.DT.dominates(RHS, At)) in getRelatedExistingExpansion() 2479 if (SE.getTypeSizeInBits(CountTy) > SE.getTypeSizeInBits(Ty)) { in generateOverflowCheck() 2548 formLCSSAForInstructions(ToUpdate, SE.DT, SE.LI, &SE, Builder, &PHIsToRemove); in fixupLCSSAFormFor() [all …]
|
| H A D | SimplifyIndVar.cpp | 53 ScalarEvolution *SE; member in __anon0030acaf0111::SimplifyIndvar 66 : L(Loop), LI(LI), SE(SE), DT(DT), TTI(TTI), Rewriter(Rewriter), in SimplifyIndvar() 297 SE->isKnownNonNegative(S) && SE->isKnownNonNegative(X)) { in eliminateIVComparison() 325 if (SE->isKnownNonNegative(N) && SE->isKnownNonNegative(D)) { in eliminateSDiv() 413 const auto *NLessOne = SE->getMinusSCEV(N, SE->getOne(T)); in simplifyIVRemainder() 563 return SE->isKnownNonNegative(SCEVOP1) && SE->isKnownNonNegative(SCEVOP2); in eliminateTrunc() 724 (SE->getSCEV(UseInst) != SE->getSCEV(IVOperand))) in eliminateIdentitySCEV() 793 ConstantRange IVRange = SE->getUnsignedRange(SE->getSCEV(IVOperand)); in strengthenRightShift() 979 SCEVExpander Rewriter(*SE, SE->getDataLayout(), "indvars"); in simplifyLoopIVs() 1007 ScalarEvolution *SE; member in __anon0030acaf0311::WidenIV [all …]
|
| /llvm-project-15.0.7/llvm/unittests/Transforms/Utils/ |
| H A D | ScalarEvolutionExpanderTest.cpp | 60 Test(*F, *LI, SE); in runWithSE() 120 auto *S = SE.getSCEV(CastB); in TEST_F() 189 SE.getAddRecExpr(SE.getUnknown(GepBase), SE.getConstant(T_int64, 1), in TEST_F() 322 const SCEV *S = SE.getSCEV(S1); in TEST_F() 374 const SCEV *S = SE.getSCEV(S1); in TEST_F() 675 return SE.getAddRecExpr(SE.getConstant(APInt(ARBitWidth, 5)), in TEST_F() 881 SE.getOne(ARType), SE.getOne(ARType)}; in TEST_F() 891 SE.getOne(ARType), SE.getOne(ARType), in TEST_F() 902 SE.getOne(ARType), SE.getOne(ARType), in TEST_F() 903 SE.getOne(ARType), SE.getOne(ARType)}; in TEST_F() [all …]
|
| /llvm-project-15.0.7/polly/lib/Support/ |
| H A D | SCEVValidator.cpp | 125 ScalarEvolution &SE; member in SCEVValidator 131 : R(R), Scope(Scope), SE(SE), ILS(ILS) {} in SCEVValidator() 543 ScalarEvolution &SE; member in SCEVFindValues 548 : SE(SE), Values(Values) {} in SCEVFindValues() 566 SCEVFindValues FindValues(SE, Values); in follow() 578 SCEVFindValues FindValues(SE, Values); in findValues() 597 SCEVValidator Validator(R, Scope, SE, ILS); in isAffineExpr() 618 auto *E = SE.getSCEV(V); in isAffineExpr() 681 auto StepPair = extractConstantFactor(AddRec->getStepRecurrence(SE), SE); in extractConstantFactor() 694 if (SE.isKnownNegative(Factor)) { in extractConstantFactor() [all …]
|
| H A D | ScopHelper.cpp | 242 : Expander(SE, DL, Name, /*PreserveLCSSA=*/false), SE(SE), Name(Name), in ScopExpander() 267 ScalarEvolution &SE; member 292 return SE.getSCEV(InstClone); in visitGenericInst() 325 RHSScev = SE.getUMaxExpr(RHSScev, SE.getConstant(E->getType(), 1)); in visitUnknown() 332 return SE.getSCEV(Inst); in visitUnknown() 355 RHSScev = SE.getUMaxExpr(RHSScev, SE.getConstant(E->getType(), 1)); in visitUDivExpr() 362 return SE.getAddExpr(NewOps); in visitAddExpr() 368 return SE.getMulExpr(NewOps); in visitMulExpr() 374 return SE.getUMaxExpr(NewOps); in visitUMaxExpr() 380 return SE.getSMaxExpr(NewOps); in visitSMaxExpr() [all …]
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Instrumentation/ |
| H A D | BoundsChecking.cpp | 77 auto SizeRange = SE.getUnsignedRange(SE.getSCEV(Size)); in getBoundsCheckCond() 78 auto OffsetRange = SE.getUnsignedRange(SE.getSCEV(Offset)); in getBoundsCheckCond() 79 auto NeededSizeRange = SE.getUnsignedRange(SE.getSCEV(NeededSizeVal)); in getBoundsCheckCond() 142 ScalarEvolution &SE) { in addBoundsChecking() argument 160 ObjSizeEval, IRB, SE); in addBoundsChecking() 164 DL, TLI, ObjSizeEval, IRB, SE); in addBoundsChecking() 169 DL, TLI, ObjSizeEval, IRB, SE); in addBoundsChecking() 173 DL, TLI, ObjSizeEval, IRB, SE); in addBoundsChecking() 217 auto &SE = AM.getResult<ScalarEvolutionAnalysis>(F); in run() local 219 if (!addBoundsChecking(F, TLI, SE)) in run() [all …]
|
| /llvm-project-15.0.7/llvm/lib/Target/ARM/ |
| H A D | MVETailPredication.cpp | 85 ScalarEvolution *SE = nullptr; member in __anon264765690111::MVETailPredication 137 SE = &getAnalysis<ScalarEvolutionWrapperPass>().getSE(); in runOnLoop() 212 auto *EC= SE->getSCEV(ElemCount); in IsSafeActiveMask() 213 auto *TC = SE->getSCEV(TripCount); in IsSafeActiveMask() 224 if (!SE->isLoopInvariant(EC, L)) { in IsSafeActiveMask() 269 auto *ECPlusVWMinus1 = SE->getAddExpr(EC, in IsSafeActiveMask() 273 auto *Ceil = SE->getUDivExpr(ECPlusVWMinus1, VW); in IsSafeActiveMask() 298 SE->getMinusSCEV(SE->getBackedgeTakenCount(L), in IsSafeActiveMask() 299 SE->getUDivExpr(SE->getAddExpr(SE->getMulExpr(Ceil, VW), in IsSafeActiveMask() 306 Sub = SE->applyLoopGuards(Sub, L); in IsSafeActiveMask() [all …]
|
| /llvm-project-15.0.7/llvm/unittests/Transforms/Scalar/ |
| H A D | LICMTest.cpp | 61 ScalarEvolution &SE = FAM.getResult<ScalarEvolutionAnalysis>(*F); in TEST() local 70 ASSERT_EQ(SE.getBlockDisposition(SE.getSCEV(IBefore), LoopBB), in TEST() 81 SE.getBlockDisposition(SE.getSCEV(IAfter), LoopBB); in TEST() 82 SE.forgetValue(IAfter); in TEST() 84 SE.getBlockDisposition(SE.getSCEV(IAfter), LoopBB); in TEST()
|