Home
last modified time | relevance | path

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

12345678910>>...13

/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DInductiveRangeCheckElimination.cpp152 static bool parseRangeCheckICmp(Loop *L, ICmpInst *ICI, ScalarEvolution &SE,
157 extractRangeChecksFromCond(Loop *L, ScalarEvolution &SE, Use &ConditionUse,
162 ICmpInst::Predicate Pred, ScalarEvolution &SE,
167 ICmpInst::Predicate Pred, ScalarEvolution &SE,
210 bool isEmpty(ScalarEvolution &SE, bool IsSigned) const { in getType()
214 return SE.isKnownPredicate(ICmpInst::ICMP_SGE, Begin, End); in isEmpty()
216 return SE.isKnownPredicate(ICmpInst::ICMP_UGE, Begin, End); in isEmpty()
227 std::optional<Range> computeSafeIterationSpace(ScalarEvolution &SE,
237 BranchInst *BI, Loop *L, ScalarEvolution &SE, BranchProbabilityInfo *BPI,
242 ScalarEvolution &SE;
213 isEmpty(ScalarEvolution & SE,bool IsSigned) const isEmpty() argument
247 ScalarEvolution &SE; global() member in __anona4c10e620111::InductiveRangeCheckElimination
261 InductiveRangeCheckElimination(ScalarEvolution & SE,BranchProbabilityInfo * BPI,DominatorTree & DT,LoopInfo & LI,GetBFIFunc GetBFI=std::nullopt) InductiveRangeCheckElimination() argument
276 parseRangeCheckICmp(Loop * L,ICmpInst * ICI,ScalarEvolution & SE,const SCEVAddRecExpr * & Index,const SCEV * & End) parseRangeCheckICmp() argument
308 parseIvAgaisntLimit(Loop * L,Value * LHS,Value * RHS,ICmpInst::Predicate Pred,ScalarEvolution & SE,const SCEVAddRecExpr * & Index,const SCEV * & End) parseIvAgaisntLimit() argument
371 reassociateSubLHS(Loop * L,Value * VariantLHS,Value * InvariantRHS,ICmpInst::Predicate Pred,ScalarEvolution & SE,const SCEVAddRecExpr * & Index,const SCEV * & End) reassociateSubLHS() argument
488 extractRangeChecksFromCond(Loop * L,ScalarEvolution & SE,Use & ConditionUse,SmallVectorImpl<InductiveRangeCheck> & Checks,SmallPtrSetImpl<Value * > & Visited) extractRangeChecksFromCond() argument
528 extractRangeChecksFromBranch(BranchInst * BI,Loop * L,ScalarEvolution & SE,BranchProbabilityInfo * BPI,SmallVectorImpl<InductiveRangeCheck> & Checks,bool & Changed) extractRangeChecksFromBranch() argument
751 ScalarEvolution &SE; global() member in __anona4c10e620511::LoopConstrainer
776 LoopConstrainer(Loop & L,LoopInfo & LI,function_ref<void (Loop *,bool)> LPMAddNewLoop,const LoopStructure & LS,ScalarEvolution & SE,DominatorTree & DT,InductiveRangeCheck::Range R) LoopConstrainer() argument
794 isSafeDecreasingBound(const SCEV * Start,const SCEV * BoundSCEV,const SCEV * Step,ICmpInst::Predicate Pred,unsigned LatchBrExitIdx,Loop * L,ScalarEvolution & SE) isSafeDecreasingBound() argument
843 isSafeIncreasingBound(const SCEV * Start,const SCEV * BoundSCEV,const SCEV * Step,ICmpInst::Predicate Pred,unsigned LatchBrExitIdx,Loop * L,ScalarEvolution & SE) isSafeIncreasingBound() argument
885 getNarrowestLatchMaxTakenCountEstimate(ScalarEvolution & SE,const Loop & L) getNarrowestLatchMaxTakenCountEstimate() argument
895 parseLoopStructure(ScalarEvolution & SE,Loop & L,const char * & FailureReason) parseLoopStructure() argument
1202 NoopOrExtend(const SCEV * S,Type * Ty,ScalarEvolution & SE,bool Signed) NoopOrExtend() argument
1748 computeSafeIterationSpace(ScalarEvolution & SE,const SCEVAddRecExpr * IndVar,bool IsLatchSigned) const computeSafeIterationSpace() argument
1925 IntersectSignedRange(ScalarEvolution & SE,const std::optional<InductiveRangeCheck::Range> & R1,const InductiveRangeCheck::Range & R2) IntersectSignedRange() argument
1954 IntersectUnsignedRange(ScalarEvolution & SE,const std::optional<InductiveRangeCheck::Range> & R1,const InductiveRangeCheck::Range & R2) IntersectUnsignedRange() argument
1989 auto &SE = AM.getResult<ScalarEvolutionAnalysis>(F); run() local
[all...]
H A DAlignmentFromAssumptions.cpp52 ScalarEvolution *SE) { in getNewAlignmentDiff() argument
54 const SCEV *DiffUnitsSCEV = SE->getURemExpr(DiffSCEV, AlignSCEV); in getNewAlignmentDiff()
84 ScalarEvolution *SE) { in getNewAlignment() argument
85 const SCEV *PtrSCEV = SE->getSCEV(Ptr); in getNewAlignment()
87 const SCEV *DiffSCEV = SE->getMinusSCEV(PtrSCEV, AASCEV); in getNewAlignment()
93 DiffSCEV = SE->getNoopOrSignExtend(DiffSCEV, OffSCEV->getType()); in getNewAlignment()
97 DiffSCEV = SE->getAddExpr(DiffSCEV, OffSCEV); in getNewAlignment()
103 if (MaybeAlign NewAlignment = getNewAlignmentDiff(DiffSCEV, AlignSCEV, SE)) { in getNewAlignment()
117 const SCEV *DiffIncSCEV = DiffARSCEV->getStepRecurrence(*SE); in getNewAlignment()
126 MaybeAlign NewAlignment = getNewAlignmentDiff(DiffStartSCEV, AlignSCEV, SE); in getNewAlignment()
298 ScalarEvolution &SE = AM.getResult<ScalarEvolutionAnalysis>(F); run() local
[all...]
H A DLoopBoundSplit.cpp51 static void analyzeICmp(ScalarEvolution &SE, ICmpInst *ICmp, in analyzeICmp() argument
56 const SCEV *AddRecSCEV = SE.getSCEV(Cond.AddRecValue); in analyzeICmp()
57 const SCEV *BoundSCEV = SE.getSCEV(Cond.BoundValue); in analyzeICmp()
80 static bool calculateUpperBound(const Loop &L, ScalarEvolution &SE, in calculateUpperBound() argument
83 const SCEV *ExitCount = SE.getExitCount(&L, Cond.ICmp->getParent()); in calculateUpperBound()
107 const SCEV *MaxSCEV = SE.getConstant(Max); in calculateUpperBound()
111 if (SE.isKnownPredicate(Pred, Cond.BoundSCEV, MaxSCEV)) { in calculateUpperBound()
113 SE.getAddExpr(Cond.BoundSCEV, SE.getOne(BoundSCEVIntType)); in calculateUpperBound()
125 static bool hasProcessableCondition(const Loop &L, ScalarEvolution &SE, in hasProcessableCondition() argument
128 analyzeICmp(SE, ICmp, Cond, L); in hasProcessableCondition()
[all …]
H A DIndVarSimplify.cpp131 ScalarEvolution *SE; member in __anon28dbd4a40111::IndVarSimplify
166 IndVarSimplify(LoopInfo *LI, ScalarEvolution *SE, DominatorTree *DT, in IndVarSimplify() argument
169 : LI(LI), SE(SE), DT(DT), DL(DL), TLI(TLI), TTI(TTI), in IndVarSimplify()
425 SE->forgetLoop(L); in rewriteNonIntegerIVs()
497 SE->forgetValue(&PN); in rewriteFirstIterationLoopExitValues()
513 ScalarEvolution *SE, in visitIVCast() argument
520 uint64_t Width = SE->getTypeSizeInBits(Ty); in visitIVCast()
528 uint64_t NarrowIVWidth = SE->getTypeSizeInBits(WI.NarrowIV->getType()); in visitIVCast()
546 Width > SE->getTypeSizeInBits(WI.WidestNativeType)) { in visitIVCast()
547 WI.WidestNativeType = SE->getEffectiveSCEVType(Ty); in visitIVCast()
[all …]
H A DLoopStrengthReduce.cpp329 const SCEV *getSCEV(ScalarEvolution &SE, Type *Ty) const { in getSCEV() argument
330 const SCEV *S = SE.getConstant(Ty, Quantity); in getSCEV()
332 S = SE.getMulExpr(S, SE.getVScale(S->getType())); in getSCEV()
336 const SCEV *getNegativeSCEV(ScalarEvolution &SE, Type *Ty) const { in getNegativeSCEV() argument
337 const SCEV *NegS = SE.getConstant(Ty, -(uint64_t)Quantity); in getNegativeSCEV()
339 NegS = SE.getMulExpr(NegS, SE.getVScale(NegS->getType())); in getNegativeSCEV()
343 const SCEV *getUnknownSCEV(ScalarEvolution &SE, Type *Ty) const { in getUnknownSCEV() argument
344 const SCEV *SU = SE.getUnknown(ConstantInt::getSigned(Ty, Quantity)); in getUnknownSCEV()
346 SU = SE.getMulExpr(SU, SE.getVScale(SU->getType())); in getUnknownSCEV()
523 void initialMatch(const SCEV *S, Loop *L, ScalarEvolution &SE);
[all …]
H A DNaryReassociate.cpp175 auto *SE = &getAnalysis<ScalarEvolutionWrapperPass>().getSE(); in runOnFunction() local
179 return Impl.runImpl(F, AC, DT, SE, TLI, TTI); in runOnFunction()
186 auto *SE = &AM.getResult<ScalarEvolutionAnalysis>(F); in run() local
190 if (!runImpl(F, AC, DT, SE, TLI, TTI)) in run()
205 SE = SE_; in runImpl()
237 const SCEV *NewSCEV = SE->getSCEV(NewI); in doOneIteration()
268 DeadInsts, TLI, nullptr, [this](Value *V) { SE->forgetValue(V); }); in doOneIteration()
284 OrigSCEV = SE->getSCEV(I); in matchAndReassociateMinOrMax()
298 if (!SE->isSCEVable(I->getType())) in tryReassociate()
304 OrigSCEV = SE->getSCEV(I); in tryReassociate()
[all …]
H A DLoopPredication.cpp265 ScalarEvolution *SE; member in __anon4970eb7f0111::LoopPredication
324 LoopPredication(AliasAnalysis *AA, DominatorTree *DT, ScalarEvolution *SE, in LoopPredication()
326 : AA(AA), DT(DT), SE(SE), LI(LI), MSSAU(MSSAU){};
338 LoopPredication LP(&AR.AA, &AR.DT, &AR.SE, &AR.LI, in getAnalysisUsage()
354 const SCEV *LHSS = SE->getSCEV(LHS); in runOnLoop()
357 const SCEV *RHSS = SE->getSCEV(RHS);
362 if (SE->isLoopInvariant(LHSS, L)) {
382 if (SE->isLoopInvariant(LHS, L) && SE in run()
323 LoopPredication(AliasAnalysis * AA,DominatorTree * DT,ScalarEvolution * SE,LoopInfo * LI,MemorySSAUpdater * MSSAU) LoopPredication() argument
345 auto *SE = &getAnalysis<ScalarEvolutionWrapperPass>().getSE(); runOnLoop() local
453 isSafeToTruncateWideIVType(const DataLayout & DL,ScalarEvolution & SE,const LoopICmp LatchCheck,Type * RangeCheckType) isSafeToTruncateWideIVType() argument
488 generateLoopLatchCheck(const DataLayout & DL,ScalarEvolution & SE,const LoopICmp LatchCheck,Type * RangeCheckType) generateLoopLatchCheck() argument
679 normalizePredicate(ScalarEvolution * SE,Loop * L,LoopICmp & RC) normalizePredicate() argument
1087 getMinAnalyzeableBackedgeTakenCount(ScalarEvolution & SE,DominatorTree & DT,Loop * L) getMinAnalyzeableBackedgeTakenCount() argument
[all...]
H A DLoopDataPrefetch.cpp65 ScalarEvolution *SE, const TargetTransformInfo *TTI, in LoopDataPrefetch() argument
67 : AC(AC), DT(DT), LI(LI), SE(SE), TTI(TTI), ORE(ORE) {} in LoopDataPrefetch()
109 ScalarEvolution *SE; member in __anon0c2e89580111::LoopDataPrefetch
162 const auto *ConstStride = dyn_cast<SCEVConstant>(AR->getStepRecurrence(*SE)); in isStrideLargeEnough()
176 ScalarEvolution *SE = &AM.getResult<ScalarEvolutionAnalysis>(F); in run() local
182 LoopDataPrefetch LDP(AC, DT, LI, SE, TTI, ORE); in run()
201 ScalarEvolution *SE = &getAnalysis<ScalarEvolutionWrapperPass>().getSE(); in runOnFunction() local
209 LoopDataPrefetch LDP(AC, DT, LI, SE, TTI, ORE); in runOnFunction()
319 unsigned ConstantMaxTripCount = SE->getSmallConstantMaxTripCount(L); in runOnLoop()
347 const SCEV *LSCEV = SE->getSCEV(PtrValue); in runOnLoop()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DLoopCacheAnalysis.cpp82 const Loop &L, ScalarEvolution &SE) { in isOneDimensionalArray() argument
91 const SCEV *Step = AR->getStepRecurrence(SE); in isOneDimensionalArray()
96 if (!SE.isLoopInvariant(Start, &L) || !SE.isLoopInvariant(Step, &L)) in isOneDimensionalArray()
99 const SCEV *StepRec = AR->getStepRecurrence(SE); in isOneDimensionalArray()
100 if (StepRec && SE.isKnownNegative(StepRec)) in isOneDimensionalArray()
101 StepRec = SE.getNegativeSCEV(StepRec); in isOneDimensionalArray()
110 ScalarEvolution &SE) { in computeTripCount() argument
111 const SCEV *BackedgeTakenCount = SE.getBackedgeTakenCount(&L); in computeTripCount()
114 ? SE.getTripCountFromExitCount(BackedgeTakenCount) in computeTripCount()
120 TripCount = SE.getConstant(ElemSize.getType(), DefaultTripCount); in computeTripCount()
[all …]
H A DDelinearization.cpp49 ScalarEvolution &SE; member
52 SCEVCollectStrides(ScalarEvolution &SE, SmallVectorImpl<const SCEV *> &S) in SCEVCollectStrides()
53 : SE(SE), Strides(S) {} in SCEVCollectStrides()
57 Strides.push_back(AR->getStepRecurrence(SE)); in follow()
124 ScalarEvolution &SE; member
127 ScalarEvolution &SE) in SCEVCollectAddRecMultiplies()
128 : Terms(T), SE(SE) {} in SCEVCollectAddRecMultiplies()
153 Terms.push_back(SE.getMulExpr(Operands)); in follow()
171 void llvm::collectParametricTerms(ScalarEvolution &SE, const SCEV *Expr, in collectParametricTerms() argument
174 SCEVCollectStrides StrideCollector(SE, Strides); in collectParametricTerms()
[all …]
H A DDependenceAnalysis.cpp130 auto &SE = FAM.getResult<ScalarEvolutionAnalysis>(F); in run() local
132 return DependenceInfo(&F, &AA, &SE, &LI); in run()
158 auto &SE = getAnalysis<ScalarEvolutionWrapperPass>().getSE(); in runOnFunction() local
160 info.reset(new DependenceInfo(&F, &AA, &SE, &LI)); in runOnFunction()
180 ScalarEvolution &SE, bool NormalizeResults) { in dumpExampleDependence() argument
192 if (NormalizeResults && D->normalize(&SE)) in dumpExampleDependence()
303 bool FullDependence::normalize(ScalarEvolution *SE) { in normalize() argument
323 SE->getNegativeSCEV(DV[Level - 1].Distance); in normalize()
429 return SE->getNegativeSCEV(C); in getD()
460 A = SE->getOne(D->getType()); in setDistance()
[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.instructionCouldExistWithOperands(A, B); in canComputePointerDiff()
46 const SCEV *AS = SE.getSCEV(const_cast<Value *>(LocA.Ptr)); in alias()
47 const SCEV *BS = SE.getSCEV(const_cast<Value *>(LocB.Ptr)); in alias()
55 if (canComputePointerDiff(SE, AS, BS)) { in alias()
56 unsigned BitWidth = SE.getTypeSizeInBits(AS->getType()); in alias()
69 SE.getPtrToIntExpr(AS, SE.getEffectiveSCEVType(AS->getType())); in alias()
71 SE.getPtrToIntExpr(BS, SE.getEffectiveSCEVType(BS->getType())); in alias()
[all …]
H A DScalarEvolutionDivision.cpp55 void SCEVDivision::divide(ScalarEvolution &SE, const SCEV *Numerator, in divide() argument
60 SCEVDivision D(SE, Numerator, Denominator); in divide()
88 divide(SE, *Quotient, Op, &Q, &R); in divide()
123 Quotient = SE.getConstant(QuotientVal); in visitConstant()
124 Remainder = SE.getConstant(RemainderVal); in visitConstant()
137 divide(SE, Numerator->getStart(), Denominator, &StartQ, &StartR); in visitAddRecExpr()
138 divide(SE, Numerator->getStepRecurrence(SE), Denominator, &StepQ, &StepR); in visitAddRecExpr()
144 Quotient = SE.getAddRecExpr(StartQ, StepQ, Numerator->getLoop(), in visitAddRecExpr()
146 Remainder = SE.getAddRecExpr(StartR, StepR, Numerator->getLoop(), in visitAddRecExpr()
156 divide(SE, Op, Denominator, &Q, &R); in visitAddExpr()
[all …]
H A DScalarEvolutionNormalization.cpp40 ScalarEvolution &SE) in NormalizeDenormalizeRewriter()
41 : SCEVRewriteVisitor<NormalizeDenormalizeRewriter>(SE), Kind(Kind), 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
107 NormalizeDenormalizeRewriter(Normalize, Pred, SE).visit(S); in normalizeForPostIncUse()
108 const SCEV *Denormalized = denormalizeForPostIncUse(Normalized, Loops, SE); in normalizeForPostIncUse()
116 ScalarEvolution &SE) { in normalizeForPostIncUseIf() argument
[all …]
H A DIVUsers.cpp38 return IVUsers(&L, &AR.AC, &AR.LI, &AR.DT, &AR.SE); in run()
57 ScalarEvolution *SE, LoopInfo *LI) { in isInteresting() argument
65 SE->getSCEVAtScope(AR, LI->getLoopFor(I->getParent())) != AR); in isInteresting()
69 return isInteresting(AR->getStart(), I, L, SE, LI) && in isInteresting()
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()
156 uint64_t Width = SE->getTypeSizeInBits(I->getType()); in AddUsersIfInteresting()
166 const SCEV *ISE = SE->getSCEV(I); in AddUsersIfInteresting()
170 if (!isInteresting(ISE, I, L, SE, LI)) in AddUsersIfInteresting()
[all …]
H A DLoopAccessAnalysis.cpp173 ScalarEvolution *SE = PSE.getSE(); in replaceSymbolicStrideSCEV() local
174 const auto *CT = SE->getOne(StrideSCEV->getType()); in replaceSymbolicStrideSCEV()
175 PSE.addPredicate(*SE->getEqualPredicate(StrideSCEV, CT)); in replaceSymbolicStrideSCEV()
211 ScalarEvolution *SE = PSE.getSE(); in getStartAndEndForAccess() local
215 {SE->getCouldNotCompute(), SE->getCouldNotCompute()}}); in getStartAndEndForAccess()
222 if (SE->isLoopInvariant(PtrExpr, Lp)) { in getStartAndEndForAccess()
228 ScEnd = AR->evaluateAtIteration(Ex, *SE); in getStartAndEndForAccess()
229 const SCEV *Step = AR->getStepRecurrence(*SE); in getStartAndEndForAccess()
240 ScStart = SE->getUMinExpr(ScStart, ScEnd); in getStartAndEndForAccess()
241 ScEnd = SE->getUMaxExpr(AR->getStart(), ScEnd); in getStartAndEndForAccess()
[all …]
H A DLoopNestAnalysis.cpp36 ScalarEvolution &SE);
42 LoopNest::LoopNest(Loop &Root, ScalarEvolution &SE) in LoopNest() argument
43 : MaxPerfectDepth(getMaxPerfectDepth(Root, SE)) { in LoopNest()
48 ScalarEvolution &SE) { in getLoopNest() argument
49 return std::make_unique<LoopNest>(Root, SE); in getLoopNest()
104 ScalarEvolution &SE) { in arePerfectlyNested() argument
105 return (analyzeLoopNestForPerfectNest(OuterLoop, InnerLoop, SE) == in arePerfectlyNested()
110 const Loop &OuterLoop, const Loop &InnerLoop, ScalarEvolution &SE) { in analyzeLoopNestForPerfectNest() argument
124 if (!checkLoopsStructure(OuterLoop, InnerLoop, SE)) { in analyzeLoopNestForPerfectNest()
130 auto OuterLoopLB = OuterLoop.getBounds(SE); in analyzeLoopNestForPerfectNest()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLoopConstrainer.cpp22 ScalarEvolution &SE) { in isSafeDecreasingBound() argument
27 if (!SE.isAvailableAtLoopEntry(BoundSCEV, L)) in isSafeDecreasingBound()
30 assert(SE.isKnownNegative(Step) && "expecting negative step"); in isSafeDecreasingBound()
45 auto StartLG = SE.applyLoopGuards(Start, L); in isSafeDecreasingBound()
46 auto BoundLG = SE.applyLoopGuards(BoundSCEV, L); in isSafeDecreasingBound()
49 return SE.isLoopEntryGuardedByCond(L, BoundPred, StartLG, BoundLG); in isSafeDecreasingBound()
53 const SCEV *StepPlusOne = SE.getAddExpr(Step, SE.getOne(Step->getType())); in isSafeDecreasingBound()
57 const SCEV *Limit = SE.getMinusSCEV(SE.getConstant(Min), StepPlusOne); in isSafeDecreasingBound()
60 SE.getMinusSCEV(BoundLG, SE.getOne(BoundLG->getType())); in isSafeDecreasingBound()
62 return SE.isLoopEntryGuardedByCond(L, BoundPred, StartLG, MinusOne) && in isSafeDecreasingBound()
[all …]
H A DScalarEvolutionExpander.cpp132 SE.DT.dominates(cast<Instruction>(Ret), &*BIP)); in ReuseOrCreateCast()
201 assert(SE.getTypeSizeInBits(V->getType()) == SE.getTypeSizeInBits(Ty) && in InsertNoopCastOfTo()
225 SE.getTypeSizeInBits(Ty) == SE.getTypeSizeInBits(V->getType())) { in InsertNoopCastOfTo()
229 SE.getTypeSizeInBits(CI->getType()) == in InsertNoopCastOfTo()
230 SE.getTypeSizeInBits(CI->getOperand(0)->getType())) in InsertNoopCastOfTo()
235 SE.getTypeSizeInBits(CE->getType()) == in InsertNoopCastOfTo()
236 SE.getTypeSizeInBits(CE->getOperand(0)->getType())) in InsertNoopCastOfTo()
300 while (const Loop *L = SE.LI.getLoopFor(Builder.GetInsertBlock())) { in InsertBinop()
352 SE.DT.dominates(cast<Instruction>(V), &*Builder.GetInsertPoint())); in expandAddToGEP()
386 while (const Loop *L = SE.LI.getLoopFor(Builder.GetInsertBlock())) { in expandAddToGEP()
[all …]
H A DSimplifyIndVar.cpp56 ScalarEvolution *SE; member in __anonb324fb7f0111::SimplifyIndvar
66 SimplifyIndvar(Loop *Loop, ScalarEvolution *SE, DominatorTree *DT, in SimplifyIndvar() argument
70 : L(Loop), LI(LI), SE(SE), DT(DT), TTI(TTI), Rewriter(Rewriter), in SimplifyIndvar()
158 assert(SE->isSCEVable(IVSrc->getType()) && "Expect SCEVable IV operand"); in foldIVUser()
170 const auto *LHS = SE->getSCEV(IVSrc); in foldIVUser()
171 const auto *RHS = SE->getSCEV(D); in foldIVUser()
172 FoldedExpr = SE->getUDivExpr(LHS, RHS); in foldIVUser()
175 if (UseInst->isExact() && LHS != SE->getMulExpr(FoldedExpr, RHS)) in foldIVUser()
179 if (!SE->isSCEVable(UseInst->getType())) in foldIVUser()
183 if (SE->getSCEV(UseInst) != FoldedExpr) in foldIVUser()
[all …]
H A DLoopPeel.cpp344 ScalarEvolution &SE) { in countToEliminateCompares() argument
349 const SCEV *BE = SE.getConstantMaxBackedgeTakenCount(&L); in countToEliminateCompares()
361 SE.isKnownPredicate(Pred, IterVal, BoundSCEV)) { in countToEliminateCompares()
362 IterVal = SE.getAddExpr(IterVal, Step); in countToEliminateCompares()
365 return SE.isKnownPredicate(ICmpInst::getInversePredicate(Pred), IterVal, in countToEliminateCompares()
387 const SCEV *LeftSCEV = SE.getSCEV(LeftVal); in countToEliminateCompares()
388 const SCEV *RightSCEV = SE.getSCEV(RightVal); in countToEliminateCompares()
392 if (SE.evaluatePredicate(Pred, LeftSCEV, RightSCEV)) in countToEliminateCompares()
412 !SE.getMonotonicPredicateType(LeftAR, Pred)) in countToEliminateCompares()
420 SE.getConstant(LeftSCEV->getType(), NewPeelCount), SE); in countToEliminateCompares()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DMVETailPredication.cpp86 ScalarEvolution *SE = nullptr; member in __anond339c0390111::MVETailPredication
133 SE = &getAnalysis<ScalarEvolutionWrapperPass>().getSE(); in runOnLoop()
208 auto *EC= SE->getSCEV(ElemCount); in IsSafeActiveMask()
209 auto *TC = SE->getSCEV(TripCount); in IsSafeActiveMask()
220 if (!SE->isLoopInvariant(EC, L)) { in IsSafeActiveMask()
231 auto *IVExpr = SE->getSCEV(IV); in IsSafeActiveMask()
294 auto *VW = SE->getSCEV(ConstantInt::get(TripCount->getType(), VectorWidth)); in IsSafeActiveMask()
297 auto *ECPlusVWMinus1 = SE->getAddExpr(EC, in IsSafeActiveMask()
298 SE->getSCEV(ConstantInt::get(TripCount->getType(), VectorWidth - 1))); in IsSafeActiveMask()
301 auto *Ceil = SE->getUDivExpr(ECPlusVWMinus1, VW); in IsSafeActiveMask()
[all …]
/freebsd/contrib/file/magic/Magdir/
H A Dcafebabe78 >>4 belong 0x0035 (Java SE 9)
79 >>4 belong 0x0036 (Java SE 10)
80 >>4 belong 0x0037 (Java SE 11)
81 >>4 belong 0x0038 (Java SE 12)
82 >>4 belong 0x0039 (Java SE 13)
83 >>4 belong 0x003A (Java SE 14)
84 >>4 belong 0x003B (Java SE 15)
85 >>4 belong 0x003C (Java SE 16)
86 >>4 belong 0x003D (Java SE 17)
87 >>4 belong 0x003E (Java SE 18)
[all …]
H A Dselinux1 # Type: SE Linux policy modules *.pp reference policy
6 0 lelong 0xf97cff8f SE Linux modular policy
17 1 string policy_module( SE Linux policy module source
18 2 string policy_module( SE Linux policy module source
20 0 string ##\ <summary> SE Linux policy interface source
22 #0 search gen_context( SE Linux policy file contexts
24 #0 search gen_sens( SE Linux policy MLS constraints source
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/
H A DBoundsChecking.cpp59 BuilderTy &IRB, ScalarEvolution &SE) { in getBoundsCheckCond() argument
78 auto SizeRange = SE.getUnsignedRange(SE.getSCEV(Size)); in getBoundsCheckCond()
79 auto OffsetRange = SE.getUnsignedRange(SE.getSCEV(Offset)); in getBoundsCheckCond()
80 auto NeededSizeRange = SE.getUnsignedRange(SE.getSCEV(NeededSizeVal)); in getBoundsCheckCond()
143 ScalarEvolution &SE) { in addBoundsChecking() argument
162 ObjSizeEval, IRB, SE); in addBoundsChecking()
166 DL, TLI, ObjSizeEval, IRB, SE); in addBoundsChecking()
171 DL, TLI, ObjSizeEval, IRB, SE); in addBoundsChecking()
175 DL, TLI, ObjSizeEval, IRB, SE); in addBoundsChecking()
227 auto &SE = AM.getResult<ScalarEvolutionAnalysis>(F); in run() local
[all …]

12345678910>>...13