/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | InductiveRangeCheckElimination.cpp | 152 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 D | AlignmentFromAssumptions.cpp | 52 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 D | LoopBoundSplit.cpp | 51 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 D | IndVarSimplify.cpp | 131 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 D | LoopStrengthReduce.cpp | 329 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 D | NaryReassociate.cpp | 175 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 D | LoopPredication.cpp | 265 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 D | LoopDataPrefetch.cpp | 65 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 D | LoopCacheAnalysis.cpp | 82 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 D | Delinearization.cpp | 49 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 D | DependenceAnalysis.cpp | 130 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 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.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 D | ScalarEvolutionDivision.cpp | 55 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 D | ScalarEvolutionNormalization.cpp | 40 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 D | IVUsers.cpp | 38 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 D | LoopAccessAnalysis.cpp | 173 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 D | LoopNestAnalysis.cpp | 36 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 D | LoopConstrainer.cpp | 22 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 D | ScalarEvolutionExpander.cpp | 132 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 D | SimplifyIndVar.cpp | 56 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 D | LoopPeel.cpp | 344 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 D | MVETailPredication.cpp | 86 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 D | cafebabe | 78 >>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 D | selinux | 1 # 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 D | BoundsChecking.cpp | 59 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 …]
|