Home
last modified time | relevance | path

Searched refs:getSCEV (Results 1 – 25 of 44) sorted by relevance

12

/freebsd-12-stable/contrib/llvm-project/llvm/lib/Transforms/Utils/
DSimplifyIndVar.cpp164 FoldedExpr = SE->getUDivExpr(SE->getSCEV(IVSrc), SE->getSCEV(D)); in foldIVUser()
168 SE->getSCEV(IVSrc) != SE->getMulExpr(FoldedExpr, SE->getSCEV(D))) in foldIVUser()
176 if (SE->getSCEV(UseInst) != FoldedExpr) in foldIVUser()
183 assert(SE->getSCEV(UseInst) == FoldedExpr && "bad SCEV with folded oper"); in foldIVUser()
236 const SCEV *IncomingS = SE->getSCEV(Incoming); in makeIVComparisonInvariant()
314 auto *N = SE->getSCEV(SDiv->getOperand(0)); in eliminateSDiv()
315 auto *D = SE->getSCEV(SDiv->getOperand(1)); in eliminateSDiv()
387 const SCEV *N = SE->getSCEV(NValue); in simplifyIVRemainder()
399 const SCEV *D = SE->getSCEV(DValue); in simplifyIVRemainder()
426 const SCEV *LHS = SE->getSCEV(WO->getLHS()); in eliminateOverflowIntrinsic()
[all …]
DScalarEvolutionExpander.cpp778 X = SE.getSCEV(U->getValue()); in visitAddExpr()
788 SE.getSCEV(Sum)); in visitAddExpr()
1117 IncV = expandAddToGEP(SE.getSCEV(StepV), GEPPtrTy, IntTy, PN); in expandIVInc()
1246 const SCEVAddRecExpr *PhiSCEV = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(&PN)); in getAddRecExprPHILiterally()
2089 auto *Const = dyn_cast<SCEVConstant>(SE.getSCEV(PN)); in replaceCongruentIVs()
2112 PHINode *&OrigPhiRef = ExprToIVMap[SE.getSCEV(Phi)]; in replaceCongruentIVs()
2120 SE.getTruncateExpr(SE.getSCEV(Phi), Phis.back()->getType()); in replaceCongruentIVs()
2157 SE.getTruncateOrNoop(SE.getSCEV(OrigInc), IsomorphicInc->getType()); in replaceCongruentIVs()
2159 TruncExpr == SE.getSCEV(IsomorphicInc) && in replaceCongruentIVs()
2219 if (SE.getSCEV(LHS) == S && SE.DT.dominates(LHS, At)) in getRelatedExistingExpansion()
[all …]
DLoopPeel.cpp209 const SCEV *LeftSCEV = SE.getSCEV(LeftVal); in countToEliminateCompares()
210 const SCEV *RightSCEV = SE.getSCEV(RightVal); in countToEliminateCompares()
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Transforms/Scalar/
DNaryReassociate.cpp237 const SCEV *NewSCEV = SE->getSCEV(NewI); in doOneIteration()
284 OrigSCEV = SE->getSCEV(I); in matchAndReassociateMinOrMax()
300 OrigSCEV = SE->getSCEV(I); in tryReassociate()
303 OrigSCEV = SE->getSCEV(I); in tryReassociate()
398 IndexExprs.push_back(SE->getSCEV(Index)); in tryReassociateGEPAtIndex()
400 IndexExprs[I] = SE->getSCEV(LHS); in tryReassociateGEPAtIndex()
464 if (SE->getSCEV(I)->isZero()) in tryReassociateBinaryOp()
481 const SCEV *AExpr = SE->getSCEV(A), *BExpr = SE->getSCEV(B); in tryReassociateBinaryOp()
482 const SCEV *RHSExpr = SE->getSCEV(RHS); in tryReassociateBinaryOp()
601 const SCEV *AExpr = SE->getSCEV(A), *BExpr = SE->getSCEV(B); in tryReassociateMinOrMax()
[all …]
DLoopLoadElimination.cpp119 auto *LoadPtrSCEV = cast<SCEVAddRecExpr>(PSE.getSCEV(LoadPtr)); in isDependenceDistanceOfOne()
120 auto *StorePtrSCEV = cast<SCEVAddRecExpr>(PSE.getSCEV(StorePtr)); in isDependenceDistanceOfOne()
430 auto *PtrSCEV = cast<SCEVAddRecExpr>(PSE.getSCEV(Ptr)); in propagateStoredValueToLoadUsers()
507 assert(isa<SCEVAddRecExpr>(PSE.getSCEV(Cand.Load->getPointerOperand())) && in processLoop()
510 isa<SCEVAddRecExpr>(PSE.getSCEV(Cand.Store->getPointerOperand())) && in processLoop()
573 PSE.getSCEV(Cand.Load->getPointerOperand())) || in processLoop()
575 PSE.getSCEV(Cand.Store->getPointerOperand())); in processLoop()
DAlignmentFromAssumptions.cpp131 const SCEV *PtrSCEV = SE->getSCEV(Ptr); in getNewAlignment()
222 AlignSCEV = SE->getSCEV(AlignOB.Inputs[1].get()); in extractAlignmentInfo()
229 OffSCEV = SE->getSCEV(AlignOB.Inputs[2].get()); in extractAlignmentInfo()
248 const SCEV *AASCEV = SE->getSCEV(AAPtr); in processAssumption()
DStraightLineStrengthReduce.cpp417 allocateCandidatesAndFindBasis(Candidate::Add, SE->getSCEV(LHS), Idx, S, I); in allocateCandidatesAndFindBasisForAdd()
422 allocateCandidatesAndFindBasis(Candidate::Add, SE->getSCEV(LHS), Idx, S, I); in allocateCandidatesAndFindBasisForAdd()
426 allocateCandidatesAndFindBasis(Candidate::Add, SE->getSCEV(LHS), One, RHS, in allocateCandidatesAndFindBasisForAdd()
450 allocateCandidatesAndFindBasis(Candidate::Mul, SE->getSCEV(B), Idx, RHS, I); in allocateCandidatesAndFindBasisForMul()
456 allocateCandidatesAndFindBasis(Candidate::Mul, SE->getSCEV(B), Idx, RHS, I); in allocateCandidatesAndFindBasisForMul()
460 allocateCandidatesAndFindBasis(Candidate::Mul, SE->getSCEV(LHS), Zero, RHS, in allocateCandidatesAndFindBasisForMul()
537 IndexExprs.push_back(SE->getSCEV(Idx)); in allocateCandidatesAndFindBasisForGEP()
DLoopBoundSplit.cpp61 Cond.AddRecSCEV = SE.getSCEV(Cond.AddRecValue); in analyzeICmp()
62 Cond.BoundSCEV = SE.getSCEV(Cond.BoundValue); in analyzeICmp()
374 if (SE.isSCEVable(PN.getType()) && isa<SCEVAddRecExpr>(SE.getSCEV(&PN))) { in splitLoopBound()
DLoopRerollPass.cpp594 dyn_cast<SCEVAddRecExpr>(SE->getSCEV(&*I))) { in collectPossibleIVs()
907 const auto *ADR = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(DRS.BaseInst)); in validateRootSet()
913 const SCEV *StepSCEV = SE->getMinusSCEV(SE->getSCEV(DRS.Roots[0]), ADR); in validateRootSet()
922 const SCEV *NewStepSCEV = SE->getMinusSCEV(SE->getSCEV(DRS.Roots[i]), in validateRootSet()
923 SE->getSCEV(DRS.Roots[i-1])); in validateRootSet()
934 const auto *IVU_ADR = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(IVU)); in findRootsBase()
1453 cast<SCEVAddRecExpr>(SE->getSCEV(DRS.BaseInst)); in replace()
1455 IncrExprs.push_back(SE->getMinusSCEV(SE->getSCEV(DRS.Roots[0]), IVSCEV)); in replace()
DLoopIdiomRecognize.cpp508 dyn_cast<SCEVAddRecExpr>(SE->getSCEV(StorePtr)); in isLegalStore()
567 dyn_cast<SCEVAddRecExpr>(SE->getSCEV(LI->getPointerOperand())); in isLegalStore()
673 cast<SCEVAddRecExpr>(SE->getSCEV(FirstStorePtr)); in processLoopStores()
709 cast<SCEVAddRecExpr>(SE->getSCEV(SecondStorePtr)); in processLoopStores()
779 const SCEVAddRecExpr *StoreEv = cast<SCEVAddRecExpr>(SE->getSCEV(StorePtr)); in processLoopStores()
846 const SCEVAddRecExpr *StoreEv = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(Dest)); in processLoopMemCpy()
849 const SCEVAddRecExpr *LoadEv = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(Source)); in processLoopMemCpy()
911 const SCEVAddRecExpr *Ev = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(Pointer)); in processLoopMemSet()
1172 const SCEVAddRecExpr *StoreEv = cast<SCEVAddRecExpr>(SE->getSCEV(StorePtr)); in processLoopStoreOfLoopLoad()
1183 const SCEVAddRecExpr *LoadEv = cast<SCEVAddRecExpr>(SE->getSCEV(LoadPtr)); in processLoopStoreOfLoopLoad()
[all …]
DInductiveRangeCheckElimination.cpp299 return SE.isLoopInvariant(SE.getSCEV(V), L); in INITIALIZE_PASS_DEPENDENCY()
380 const auto *IndexAddRec = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(Index)); in extractRangeChecksFromCond()
391 End = SE.getSCEV(Length); in extractRangeChecksFromCond()
802 const SCEV *LeftSCEV = SE.getSCEV(LeftValue); in parseLoopStructure()
806 const SCEV *RightSCEV = SE.getSCEV(RightValue); in parseLoopStructure()
872 const SCEV *Step = SE.getSCEV(StepCI); in parseLoopStructure()
1079 const SCEV *Start = NoopOrExtend(SE.getSCEV(MainLoopStructure.IndVarStart), in calculateSubRanges()
1081 const SCEV *End = NoopOrExtend(SE.getSCEV(MainLoopStructure.LoopExitAt), RTy, in calculateSubRanges()
1932 cast<SCEVAddRecExpr>(SE.getMinusSCEV(SE.getSCEV(LS.IndVarBase), SE.getSCEV(LS.IndVarStep))); in run()
DLoopStrengthReduce.cpp443 const SCEV *NegOne = SE.getSCEV(ConstantInt::getAllOnesValue( in DoInitialMatch()
941 SE.getSCEV(&PN) == AR) in isExistingPhi()
1003 return SE.getSCEV(UI) == Mul; in isHighCostExpansion()
2152 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(PH)); in OptimizeShadowIV()
2299 if (IterationCount != SE.getSCEV(Sel)) return Cond; in OptimizeMax()
2336 const SCEV *IV = SE.getSCEV(Cond->getOperand(0)); in OptimizeMax()
2353 if (BO1->isOne() && SE.getSCEV(BO->getOperand(0)) == MaxRHS) in OptimizeMax()
2357 if (BO1->isOne() && SE.getSCEV(BO->getOperand(0)) == MaxRHS) in OptimizeMax()
2361 } else if (SE.getSCEV(Sel->getOperand(1)) == MaxRHS) in OptimizeMax()
2363 else if (SE.getSCEV(Sel->getOperand(2)) == MaxRHS) in OptimizeMax()
[all …]
DIndVarSimplify.cpp868 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(Phi)); in isLoopCounter()
879 isa<SCEVAddRecExpr>(SE->getSCEV(IncV))); in isLoopCounter()
912 const auto *AR = cast<SCEVAddRecExpr>(SE->getSCEV(Phi)); in FindLoopCounter()
977 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(SE->getSCEV(IndVar)); in genLoopLimit()
1107 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(SE->getSCEV(IncVar)); in linearFunctionTestReplace()
1152 const SCEV *IV = SE->getSCEV(CmpIndVar); in linearFunctionTestReplace()
1153 const SCEV *TruncatedIV = SE->getTruncateExpr(SE->getSCEV(CmpIndVar), in linearFunctionTestReplace()
DLoopVersioningLICM.cpp374 if (SE->isLoopInvariant(SE->getSCEV(Ptr), CurLoop)) in instructionSafeForVersioning()
388 if (SE->isLoopInvariant(SE->getSCEV(Ptr), CurLoop)) in instructionSafeForVersioning()
DLoopFlatten.cpp175 if (SE->getSCEV(TripCount) != SCEVTripCount) { in findLoopComponents()
186 SE->getSCEV(TripCountInst->getOperand(0)) != SCEVTripCount) { in findLoopComponents()
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Target/ARM/
DMVETailPredication.cpp212 auto *EC= SE->getSCEV(ElemCount); in IsSafeActiveMask()
213 auto *TC = SE->getSCEV(TripCount); in IsSafeActiveMask()
266 auto *VW = SE->getSCEV(ConstantInt::get(TripCount->getType(), VectorWidth)); in IsSafeActiveMask()
269 SE->getSCEV(ConstantInt::get(TripCount->getType(), VectorWidth - 1))); in IsSafeActiveMask()
315 auto *IVExpr = SE->getSCEV(IV); in IsSafeActiveMask()
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Analysis/
DScalarEvolution.cpp2308 const SCEV *LHS = getSCEV(OBO->getOperand(0)); in getStrengthenedNoWrapFlagsFromBinOp()
2309 const SCEV *RHS = getSCEV(OBO->getOperand(1)); in getStrengthenedNoWrapFlagsFromBinOp()
3592 const SCEV *BaseExpr = getSCEV(GEP->getPointerOperand()); in getGEPExpr()
4048 const SCEV *ScalarEvolution::getSCEV(Value *V) { in getSCEV() function in ScalarEvolution
4550 Result = SE.getSCEV(IsOne ? SI->getTrueValue() : SI->getFalseValue()); in visitUnknown()
5018 const SCEV *BEValue = getSCEV(BEValueV); in createAddRecFromPHIWithCastsImpl()
5106 const SCEV *StartVal = getSCEV(StartValueV); in createAddRecFromPHIWithCastsImpl()
5276 Accum = getSCEV(BO->RHS); in createSimpleAffineAddRec()
5278 Accum = getSCEV(BO->LHS); in createSimpleAffineAddRec()
5289 const SCEV *StartVal = getSCEV(StartValueV); in createSimpleAffineAddRec()
[all …]
DScalarEvolutionAliasAnalysis.cpp35 const SCEV *AS = SE.getSCEV(const_cast<Value *>(LocA.Ptr)); in alias()
36 const SCEV *BS = SE.getSCEV(const_cast<Value *>(LocB.Ptr)); in alias()
DLoopAccessAnalysis.cpp146 const SCEV *OrigSCEV = PSE.getSCEV(Ptr); in replaceSymbolicStrideSCEV()
159 const auto *U = cast<SCEVUnknown>(SE->getSCEV(StrideVal)); in replaceSymbolicStrideSCEV()
164 auto *Expr = PSE.getSCEV(Ptr); in replaceSymbolicStrideSCEV()
658 const SCEV *PtrScev = PSE.getSCEV(Ptr); in isNoWrap()
684 auto *Expr = PSE.getSCEV(Ptr); in createCheckForAccess()
1019 auto *OpScev = PSE.getSCEV(OBO->getOperand(0)); in isNoWrapAddRec()
1187 const SCEV *PtrSCEVA = SE.getSCEV(PtrA); in getPointersDiff()
1188 const SCEV *PtrSCEVB = SE.getSCEV(PtrB); in getPointersDiff()
1494 const SCEV *Src = PSE.getSCEV(APtr); in isDependent()
1495 const SCEV *Sink = PSE.getSCEV(BPtr); in isDependent()
[all …]
DIVUsers.cpp199 const SCEV *ISE = SE->getSCEV(I); in AddUsersImpl()
284 LLVM_DEBUG(if (SE->getSCEV(I) != ISE) dbgs() in AddUsersImpl()
386 return SE->getSCEV(IU.getOperandValToReplace()); in getReplacementExpr()
DIVDescriptors.cpp1100 assert(PSE.getSCEV(PN) == AR && "Unexpected phi node SCEV expression"); in getCastsForInductionPHI()
1146 auto *AddRec = dyn_cast<SCEVAddRecExpr>(PSE.getSCEV(Val)); in getCastsForInductionPHI()
1182 const SCEV *PhiScev = PSE.getSCEV(Phi); in isInductionPHI()
1220 const SCEV *PhiScev = Expr ? Expr : SE->getSCEV(Phi); in isInductionPHI()
DLoopUnrollAnalyzer.cpp32 const SCEV *S = SE.getSCEV(I); in simplifyInstWithSCEV()
DLoopInfo.cpp217 if (SE.getSCEV(StepInstOp1) == Step) in getBounds()
219 else if (SE.getSCEV(StepInstOp0) == Step) in getBounds()
276 dyn_cast<SCEVAddRecExpr>(SE.getSCEV(&getStepInst()))) in getDirection()
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/
DBoundsChecking.cpp79 auto SizeRange = SE.getUnsignedRange(SE.getSCEV(Size)); in getBoundsCheckCond()
80 auto OffsetRange = SE.getUnsignedRange(SE.getSCEV(Offset)); in getBoundsCheckCond()
81 auto NeededSizeRange = SE.getUnsignedRange(SE.getSCEV(NeededSizeVal)); in getBoundsCheckCond()
/freebsd-12-stable/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
DLoadStoreVectorizer.cpp366 const SCEV *PtrSCEVA = SE.getSCEV(PtrA); in areConsecutivePointers()
367 const SCEV *PtrSCEVB = SE.getSCEV(PtrB); in areConsecutivePointers()
558 const SCEV *OffsetSCEVA = SE.getSCEV(ValA); in lookThroughComplexAddresses()
559 const SCEV *OffsetSCEVB = SE.getSCEV(OpB); in lookThroughComplexAddresses()

12