Home
last modified time | relevance | path

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

123

/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DNaryReassociate.cpp237 const SCEV *NewSCEV = SE->getSCEV(NewI); in doOneIteration()
284 OrigSCEV = SE->getSCEV(I); in matchAndReassociateMinOrMax()
304 OrigSCEV = SE->getSCEV(I); in tryReassociate()
307 OrigSCEV = SE->getSCEV(I); in tryReassociate()
402 IndexExprs.push_back(SE->getSCEV(Index)); in tryReassociateGEPAtIndex()
404 IndexExprs[I] = SE->getSCEV(LHS); in tryReassociateGEPAtIndex()
467 if (SE->getSCEV(I)->isZero()) in tryReassociateBinaryOp()
484 const SCEV *AExpr = SE->getSCEV(A), *BExpr = SE->getSCEV(B); in tryReassociateBinaryOp()
485 const SCEV *RHSExpr = SE->getSCEV(RHS); in tryReassociateBinaryOp()
652 const SCEV *AExpr = SE->getSCEV(A); in tryReassociateMinOrMax()
[all …]
H A DLoopLoadElimination.cpp122 auto *LoadPtrSCEV = cast<SCEVAddRecExpr>(PSE.getSCEV(LoadPtr)); in isDependenceDistanceOfOne()
123 auto *StorePtrSCEV = cast<SCEVAddRecExpr>(PSE.getSCEV(StorePtr)); in isDependenceDistanceOfOne()
440 auto *PtrSCEV = cast<SCEVAddRecExpr>(PSE.getSCEV(Ptr)); in propagateStoredValueToLoadUsers()
544 assert(isa<SCEVAddRecExpr>(PSE.getSCEV(Cand.Load->getPointerOperand())) && in processLoop()
547 isa<SCEVAddRecExpr>(PSE.getSCEV(Cand.Store->getPointerOperand())) && in processLoop()
607 PSE.getSCEV(Cand.Load->getPointerOperand())) || in processLoop()
609 PSE.getSCEV(Cand.Store->getPointerOperand())); in processLoop()
H A DInductiveRangeCheckElimination.cpp269 return SE.isLoopInvariant(SE.getSCEV(V), L); in parseRangeCheckICmp()
309 const auto *AddRec = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(LHS)); in parseIvAgaisntLimit()
340 End = SE.getSCEV(RHS); in parseIvAgaisntLimit()
346 const SCEV *RHSS = SE.getSCEV(RHS); in parseIvAgaisntLimit()
368 const SCEV *IV = SE.getSCEV(LHS); in reassociateSubLHS()
369 const SCEV *Offset = SE.getSCEV(RHS); in reassociateSubLHS()
370 const SCEV *Limit = SE.getSCEV(InvariantRHS); in reassociateSubLHS()
598 const SCEV *Start = NoopOrExtend(SE.getSCEV(MainLoopStructure.IndVarStart), in calculateSubRanges()
600 const SCEV *End = NoopOrExtend(SE.getSCEV(MainLoopStructure.LoopExitAt), RTy, in calculateSubRanges()
1047 cast<SCEVAddRecExpr>(SE.getMinusSCEV(SE.getSCEV(LS.IndVarBase), SE.getSCEV(LS.IndVarStep))); in run()
H A DAlignmentFromAssumptions.cpp85 const SCEV *PtrSCEV = SE->getSCEV(Ptr); in getNewAlignment()
172 AlignSCEV = SE->getSCEV(AlignOB.Inputs[1].get()); in extractAlignmentInfo()
182 OffSCEV = SE->getSCEV(AlignOB.Inputs[2].get()); in extractAlignmentInfo()
201 const SCEV *AASCEV = SE->getSCEV(AAPtr); in processAssumption()
H A DStraightLineStrengthReduce.cpp416 allocateCandidatesAndFindBasis(Candidate::Add, SE->getSCEV(LHS), Idx, S, I); in allocateCandidatesAndFindBasisForAdd()
421 allocateCandidatesAndFindBasis(Candidate::Add, SE->getSCEV(LHS), Idx, S, I); in allocateCandidatesAndFindBasisForAdd()
425 allocateCandidatesAndFindBasis(Candidate::Add, SE->getSCEV(LHS), One, RHS, in allocateCandidatesAndFindBasisForAdd()
447 allocateCandidatesAndFindBasis(Candidate::Mul, SE->getSCEV(B), Idx, RHS, I); in allocateCandidatesAndFindBasisForMul()
453 allocateCandidatesAndFindBasis(Candidate::Mul, SE->getSCEV(B), Idx, RHS, I); in allocateCandidatesAndFindBasisForMul()
457 allocateCandidatesAndFindBasis(Candidate::Mul, SE->getSCEV(LHS), Zero, RHS, in allocateCandidatesAndFindBasisForMul()
534 IndexExprs.push_back(SE->getSCEV(Idx)); in allocateCandidatesAndFindBasisForGEP()
H A DLoopIdiomRecognize.cpp466 const SCEV *StoreEv = SE->getSCEV(StorePtr); in isLegalStore()
523 const SCEV *LoadEv = SE->getSCEV(LI->getPointerOperand()); in isLegalStore()
628 cast<SCEVAddRecExpr>(SE->getSCEV(FirstStorePtr)); in processLoopStores()
664 cast<SCEVAddRecExpr>(SE->getSCEV(SecondStorePtr)); in processLoopStores()
731 const SCEVAddRecExpr *StoreEv = cast<SCEVAddRecExpr>(SE->getSCEV(StorePtr)); in processLoopStores()
800 const SCEV *StoreEv = SE->getSCEV(Dest); in processLoopMemCpy()
801 const SCEV *LoadEv = SE->getSCEV(Source); in processLoopMemCpy()
860 const SCEV *Ev = SE->getSCEV(Pointer); in processLoopMemSet()
868 const SCEV *MemsetSizeSCEV = SE->getSCEV(MSI->getLength()); in processLoopMemSet()
942 return processLoopStridedStore(Pointer, SE->getSCEV(MSI->getLength()), in processLoopMemSet()
[all …]
H A DLoopBoundSplit.cpp56 const SCEV *AddRecSCEV = SE.getSCEV(Cond.AddRecValue); in analyzeICmp()
57 const SCEV *BoundSCEV = SE.getSCEV(Cond.BoundValue); in analyzeICmp()
385 const SCEVAddRecExpr *PhiSCEV = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(&PN)); in splitLoopBound()
H A DLoopVersioningLICM.cpp333 if (SE->isLoopInvariant(SE->getSCEV(Ptr), CurLoop)) in instructionSafeForVersioning()
354 if (SE->isLoopInvariant(SE->getSCEV(Ptr), CurLoop)) in instructionSafeForVersioning()
H A DIndVarSimplify.cpp810 const SCEV *S = SE->getSCEV(Phi); in isLoopCounter()
817 isa<SCEVAddRecExpr>(SE->getSCEV(IncV))); in isLoopCounter()
846 const auto *AR = cast<SCEVAddRecExpr>(SE->getSCEV(Phi)); in FindLoopCounter()
912 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(SE->getSCEV(IndVar)); in genLoopLimit()
985 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(SE->getSCEV(IncVar)); in linearFunctionTestReplace()
1030 const SCEV *IV = SE->getSCEV(CmpIndVar); in linearFunctionTestReplace()
1446 auto RHSCR = SE->getUnsignedRange(SE->applyLoopGuards(SE->getSCEV(RHS), L)); in canonicalizeExitCondition()
1497 if (!LHS->hasOneUse() && !isa<SCEVAddRecExpr>(SE->getSCEV(LHSOp))) in canonicalizeExitCondition()
1524 auto RHSCR = SE->getUnsignedRange(SE->applyLoopGuards(SE->getSCEV(RHS), L)); in canonicalizeExitCondition()
H A DLoopStrengthReduce.cpp321 const SCEV *getSCEV(ScalarEvolution &SE, Type *Ty) const { in getSCEV() function in __anonc21373340111::Immediate
582 const SCEV *NegOne = SE.getSCEV(ConstantInt::getAllOnesValue( in DoInitialMatch()
1097 SE.getSCEV(&PN) == AR) in isExistingPhi()
1160 return SE.getSCEV(UI) == S; in isHighCostExpansion()
2347 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(PH)); in OptimizeShadowIV()
2497 if (IterationCount != SE.getSCEV(Sel)) return Cond; in OptimizeMax()
2534 const SCEV *IV = SE.getSCEV(Cond->getOperand(0)); in OptimizeMax()
2549 if (BO1->isOne() && SE.getSCEV(BO->getOperand(0)) == MaxRHS) in OptimizeMax()
2553 if (BO1->isOne() && SE.getSCEV(BO->getOperand(0)) == MaxRHS) in OptimizeMax()
2557 } else if (SE.getSCEV(Sel->getOperand(1)) == MaxRHS) in OptimizeMax()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DSimplifyIndVar.cpp170 const SCEV *LHS = SE->getSCEV(IVSrc); in foldIVUser()
171 const SCEV *RHS = SE->getSCEV(D); in foldIVUser()
183 if (SE->getSCEV(UseInst) != FoldedExpr) in foldIVUser()
190 assert(SE->getSCEV(UseInst) == FoldedExpr && "bad SCEV with folded oper"); in foldIVUser()
301 const SCEV *N = SE->getSCEV(SDiv->getOperand(0)); in eliminateSDiv()
302 const SCEV *D = SE->getSCEV(SDiv->getOperand(1)); in eliminateSDiv()
379 const SCEV *N = SE->getSCEV(NValue); in simplifyIVRemainder()
391 const SCEV *D = SE->getSCEV(DValue); in simplifyIVRemainder()
418 const SCEV *LHS = SE->getSCEV(WO->getLHS()); in eliminateOverflowIntrinsic()
419 const SCEV *RHS = SE->getSCEV(WO->getRHS()); in eliminateOverflowIntrinsic()
[all …]
H A DLoopPeel.cpp355 SE.isLoopInvariant(SE.getSCEV(Bound), &L) && in canPeelLastIteration()
356 match(SE.getSCEV(Inc), in canPeelLastIteration()
446 const SCEV *LeftSCEV = SE.getSCEV(LeftVal); in countToEliminateCompares()
447 const SCEV *RightSCEV = SE.getSCEV(RightVal); in countToEliminateCompares()
519 BoundSCEV = SE.getSCEV(LHS); in countToEliminateCompares()
520 IterSCEV = SE.getSCEV(RHS); in countToEliminateCompares()
522 BoundSCEV = SE.getSCEV(RHS); in countToEliminateCompares()
523 IterSCEV = SE.getSCEV(LHS); in countToEliminateCompares()
H A DScalarEvolutionExpander.cpp550 X = SE.getSCEV(U->getValue()); in visitAddExpr()
990 const SCEVAddRecExpr *PhiSCEV = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(&PN)); in getAddRecExprPHILiterally()
1644 SE.getTruncateOrNoop(SE.getSCEV(OrigInc), IsomorphicInc->getType()); in replaceCongruentIVInc()
1645 if (OrigInc == IsomorphicInc || TruncExpr != SE.getSCEV(IsomorphicInc) || in replaceCongruentIVInc()
1731 auto *Const = dyn_cast<SCEVConstant>(SE.getSCEV(PN)); in replaceCongruentIVs()
1755 PHINode *&OrigPhiRef = ExprToIVMap[SE.getSCEV(Phi)]; in replaceCongruentIVs()
1763 const SCEV *PhiExpr = SE.getSCEV(Phi); in replaceCongruentIVs()
1818 if (SE.getSCEV(LHS) == S && SE.DT.dominates(LHS, At)) in hasRelatedExistingExpansion()
1821 if (SE.getSCEV(RHS) == S && SE.DT.dominates(RHS, At)) in hasRelatedExistingExpansion()
H A DLoopConstrainer.cpp178 const SCEV *LeftSCEV = SE.getSCEV(LeftValue); in parseLoopStructure()
182 const SCEV *RightSCEV = SE.getSCEV(RightValue); in parseLoopStructure()
252 const SCEV *Step = SE.getSCEV(StepCI); in parseLoopStructure()
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DMVETailPredication.cpp206 const SCEV *EC = SE->getSCEV(ElemCount); in IsSafeActiveMask()
207 const SCEV *TC = SE->getSCEV(TripCount); in IsSafeActiveMask()
229 const SCEV *IVExpr = SE->getSCEV(IV); in IsSafeActiveMask()
293 SE->getSCEV(ConstantInt::get(TripCount->getType(), VectorWidth)); in IsSafeActiveMask()
298 SE->getSCEV(ConstantInt::get(TripCount->getType(), VectorWidth - 1))); in IsSafeActiveMask()
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DScalarEvolution.cpp2400 const SCEV *LHS = getSCEV(OBO->getOperand(0)); in getStrengthenedNoWrapFlagsFromBinOp()
2401 const SCEV *RHS = getSCEV(OBO->getOperand(1)); in getStrengthenedNoWrapFlagsFromBinOp()
3727 const SCEV *BaseExpr = getSCEV(GEP->getPointerOperand()); in getGEPExpr()
4535 const SCEV *ScalarEvolution::getSCEV(Value *V) { in getSCEV() function in ScalarEvolution
4972 Result = SE.getSCEV(IsOne ? SI->getTrueValue() : SI->getFalseValue()); in visitUnknown()
5473 const SCEV *BEValue = getSCEV(BEValueV); in createAddRecFromPHIWithCastsImpl()
5561 const SCEV *StartVal = getSCEV(StartValueV); in createAddRecFromPHIWithCastsImpl()
5732 Accum = getSCEV(BO->RHS); in createSimpleAffineAddRec()
5734 Accum = getSCEV(BO->LHS); in createSimpleAffineAddRec()
5745 const SCEV *StartVal = getSCEV(StartValueV); in createSimpleAffineAddRec()
[all …]
H A DIVUsers.cpp166 const SCEV *ISE = SE->getSCEV(I); in AddUsersIfInteresting()
239 LLVM_DEBUG(if (SE->getSCEV(I) != ISE) dbgs() in AddUsersIfInteresting()
330 return SE->getSCEV(IU.getOperandValToReplace()); in getReplacementExpr()
H A DScalarEvolutionAliasAnalysis.cpp46 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()
H A DLoopAccessAnalysis.cpp156 const SCEV *OrigSCEV = PSE.getSCEV(Ptr); in replaceSymbolicStrideSCEV()
174 const SCEV *Expr = PSE.getSCEV(Ptr); in replaceSymbolicStrideSCEV()
317 SE->getSCEV(ConstantExpr::getIntToPtr( in getStartAndEndForAccess()
1052 const SCEV *Scev = SE->getSCEV(Ptr); in findForkedSCEVs()
1651 const SCEV *PtrSCEVA = SE.getSCEV(PtrA); in getPointersDiff()
1652 const SCEV *PtrSCEVB = SE.getSCEV(PtrB); in getPointersDiff()
2015 const SCEV *Src = PSE.getSCEV(APtr); in getDependenceDistanceStrideAndSize()
2016 const SCEV *Sink = PSE.getSCEV(BPtr); in getDependenceDistanceStrideAndSize()
2105 const SCEV *Src = PSE.getSCEV(APtr); in isDependent()
2106 const SCEV *Sink = PSE.getSCEV(BPtr); in isDependent()
[all …]
H A DIVDescriptors.cpp326 const SCEV *PtrScev = SE->getSCEV(SI->getPointerOperand()); in AddReductionVar()
330 SE->getSCEV(IntermediateStore->getPointerOperand()); in AddReductionVar()
720 auto *AR = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(V)); in isFindIVPattern()
1475 assert(PSE.getSCEV(PN) == AR && "Unexpected phi node SCEV expression"); in getCastsForInductionPHI()
1521 auto *AddRec = dyn_cast<SCEVAddRecExpr>(PSE.getSCEV(Val)); in getCastsForInductionPHI()
1557 const SCEV *PhiScev = PSE.getSCEV(Phi); in isInductionPHI()
1595 const SCEV *PhiScev = Expr ? Expr : SE->getSCEV(Phi); in isInductionPHI()
H A DLoopUnrollAnalyzer.cpp36 const SCEV *S = SE.getSCEV(I); in simplifyInstWithSCEV()
H A DStackSafetyAnalysis.cpp285 return SE.getTruncateOrZeroExtend(SE.getSCEV(Val), PtrTy); in getSCEVAsPointer()
290 return SE.getSCEV(Val); in getSCEVAsPointer()
356 SE.getTruncateOrZeroExtend(SE.getSCEV(MI->getLength()), CalculationTy); in getMemIntrinsicAccessRange()
367 return isSafeAccess(U, AI, SE.getSCEV(V)); in isSafeAccess()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVPlanUtils.cpp77 return SE.getSCEV(V->getLiveInIRValue()); in getSCEVExprForVPValue()
82 [](const VPExpandSCEVRecipe *R) { return R->getSCEV(); }) in getSCEVExprForVPValue()
H A DLoopVectorizationLegality.cpp450 return SE->getSCEV(APtr) == SE->getSCEV(BPtr); in storeToSameAddress()
579 const SCEV *S = SE->getSCEV(V); in isUniform()
942 if (!SE->isLoopInvariant(PSE.getSCEV(CI->getOperand(Idx)), in canVectorizeInstrs()
1138 const auto *AR = dyn_cast<SCEVAddRecExpr>(PSE.getSE()->getSCEV(VPtrVal)); in findHistogram()
1346 SE->getSCEV(V) == SE->getSCEV(InvariantAddress); in isInvariantAddressOfReduction()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/
H A DBoundsChecking.cpp81 auto SizeRange = SE.getUnsignedRange(SE.getSCEV(Size)); in getBoundsCheckCond()
82 auto OffsetRange = SE.getUnsignedRange(SE.getSCEV(Offset)); in getBoundsCheckCond()
83 auto NeededSizeRange = SE.getUnsignedRange(SE.getSCEV(NeededSizeVal)); in getBoundsCheckCond()

123