Home
last modified time | relevance | path

Searched refs:SE (Results 1 – 25 of 279) sorted by relevance

12345678910>>...12

/llvm-project-15.0.7/llvm/unittests/Analysis/
H A DScalarEvolutionTest.cpp99 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 DLoopNestTest.cpp32 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 DLoopInfoTest.cpp45 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 DInductiveRangeCheckElimination.cpp232 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 DAlignmentFromAssumptions.cpp127 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 DLoopBoundSplit.cpp107 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 DIndVarSimplify.cpp143 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 DLoopStrengthReduce.cpp428 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 DNaryReassociate.cpp205 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 DLoopPredication.cpp256 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 DLoopCacheAnalysis.cpp96 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 DDelinearization.cpp51 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 DScalarEvolutionDivision.cpp60 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 DDependenceAnalysis.cpp406 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 DIVUsers.cpp38 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 DScalarEvolutionNormalization.cpp40 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 DScalarEvolutionAliasAnalysis.cpp27 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 DScalarEvolutionExpander.cpp191 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 DSimplifyIndVar.cpp53 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 DScalarEvolutionExpanderTest.cpp60 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 DSCEVValidator.cpp125 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 DScopHelper.cpp242 : 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 DBoundsChecking.cpp77 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 DMVETailPredication.cpp85 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 DLICMTest.cpp61 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()

12345678910>>...12