Home
last modified time | relevance | path

Searched refs:getSCEV (Results 1 – 25 of 52) 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()
469 if (SE->getSCEV(I)->isZero()) in tryReassociateBinaryOp()
486 const SCEV *AExpr = SE->getSCEV(A), *BExpr = SE->getSCEV(B); in tryReassociateBinaryOp()
487 const SCEV *RHSExpr = SE->getSCEV(RHS); in tryReassociateBinaryOp()
654 const SCEV *AExpr = SE->getSCEV(A); in tryReassociateMinOrMax()
[all …]
H A DLoopLoadElimination.cpp124 auto *LoadPtrSCEV = cast<SCEVAddRecExpr>(PSE.getSCEV(LoadPtr)); in isDependenceDistanceOfOne()
125 auto *StorePtrSCEV = cast<SCEVAddRecExpr>(PSE.getSCEV(StorePtr)); in isDependenceDistanceOfOne()
442 auto *PtrSCEV = cast<SCEVAddRecExpr>(PSE.getSCEV(Ptr)); in propagateStoredValueToLoadUsers()
545 assert(isa<SCEVAddRecExpr>(PSE.getSCEV(Cand.Load->getPointerOperand())) && in processLoop()
548 isa<SCEVAddRecExpr>(PSE.getSCEV(Cand.Store->getPointerOperand())) && in processLoop()
611 PSE.getSCEV(Cand.Load->getPointerOperand())) || in processLoop()
613 PSE.getSCEV(Cand.Store->getPointerOperand())); in processLoop()
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.cpp412 allocateCandidatesAndFindBasis(Candidate::Add, SE->getSCEV(LHS), Idx, S, I); in allocateCandidatesAndFindBasisForAdd()
417 allocateCandidatesAndFindBasis(Candidate::Add, SE->getSCEV(LHS), Idx, S, I); in allocateCandidatesAndFindBasisForAdd()
421 allocateCandidatesAndFindBasis(Candidate::Add, SE->getSCEV(LHS), One, RHS, in allocateCandidatesAndFindBasisForAdd()
443 allocateCandidatesAndFindBasis(Candidate::Mul, SE->getSCEV(B), Idx, RHS, I); in allocateCandidatesAndFindBasisForMul()
449 allocateCandidatesAndFindBasis(Candidate::Mul, SE->getSCEV(B), Idx, RHS, I); in allocateCandidatesAndFindBasisForMul()
453 allocateCandidatesAndFindBasis(Candidate::Mul, SE->getSCEV(LHS), Zero, RHS, in allocateCandidatesAndFindBasisForMul()
530 IndexExprs.push_back(SE->getSCEV(Idx)); in allocateCandidatesAndFindBasisForGEP()
H A DInductiveRangeCheckElimination.cpp275 return SE.isLoopInvariant(SE.getSCEV(V), L); in parseRangeCheckICmp()
315 const auto *AddRec = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(LHS)); in parseIvAgaisntLimit()
346 End = SE.getSCEV(RHS); in parseIvAgaisntLimit()
352 const SCEV *RHSS = SE.getSCEV(RHS); in parseIvAgaisntLimit()
374 const SCEV *IV = SE.getSCEV(LHS); in reassociateSubLHS()
375 const SCEV *Offset = SE.getSCEV(RHS); in reassociateSubLHS()
376 const SCEV *Limit = SE.getSCEV(InvariantRHS); in reassociateSubLHS()
582 const SCEV *Start = NoopOrExtend(SE.getSCEV(MainLoopStructure.IndVarStart), in DisableAllLoopOptsOnLoop()
584 const SCEV *End = NoopOrExtend(SE.getSCEV(MainLoopStructure.LoopExitAt), RTy,
1025 cast<SCEVAddRecExpr>(SE.getMinusSCEV(SE.getSCEV(L in parseLoopStructure()
[all...]
H A DLoopIdiomRecognize.cpp439 dyn_cast<SCEVAddRecExpr>(SE->getSCEV(StorePtr)); in isLegalStore()
498 dyn_cast<SCEVAddRecExpr>(SE->getSCEV(LI->getPointerOperand())); in isLegalStore()
604 cast<SCEVAddRecExpr>(SE->getSCEV(FirstStorePtr)); in processLoopStores()
640 cast<SCEVAddRecExpr>(SE->getSCEV(SecondStorePtr)); in processLoopStores()
707 const SCEVAddRecExpr *StoreEv = cast<SCEVAddRecExpr>(SE->getSCEV(StorePtr)); in processLoopStores()
776 const SCEVAddRecExpr *StoreEv = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(Dest)); in processLoopMemCpy()
779 const SCEVAddRecExpr *LoadEv = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(Source)); in processLoopMemCpy()
842 const SCEVAddRecExpr *Ev = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(Pointer)); in processLoopMemSet()
851 const SCEV *MemsetSizeSCEV = SE->getSCEV(MSI->getLength()); in processLoopMemSet()
928 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()
386 const SCEVAddRecExpr *PhiSCEV = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(&PN)); in splitLoopBound()
H A DIndVarSimplify.cpp815 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(Phi)); in isLoopCounter()
826 isa<SCEVAddRecExpr>(SE->getSCEV(IncV))); in isLoopCounter()
855 const auto *AR = cast<SCEVAddRecExpr>(SE->getSCEV(Phi)); in FindLoopCounter()
921 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(SE->getSCEV(IndVar)); in genLoopLimit()
994 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(SE->getSCEV(IncVar)); in linearFunctionTestReplace()
1039 const SCEV *IV = SE->getSCEV(CmpIndVar); in linearFunctionTestReplace()
1471 auto RHSCR = SE->getUnsignedRange(SE->applyLoopGuards(SE->getSCEV(RHS), L)); in canonicalizeExitCondition()
1522 if (!LHS->hasOneUse() && !isa<SCEVAddRecExpr>(SE->getSCEV(LHSOp))) in canonicalizeExitCondition()
1546 auto RHSCR = SE->getUnsignedRange(SE->applyLoopGuards(SE->getSCEV(RHS), L)); in canonicalizeExitCondition()
H A DLoopVersioningLICM.cpp336 if (SE->isLoopInvariant(SE->getSCEV(Ptr), CurLoop)) in instructionSafeForVersioning()
350 if (SE->isLoopInvariant(SE->getSCEV(Ptr), CurLoop)) in instructionSafeForVersioning()
H A DLoopStrengthReduce.cpp329 const SCEV *getSCEV(ScalarEvolution &SE, Type *Ty) const { in getSCEV() function in __anonc21373340111::Immediate
587 const SCEV *NegOne = SE.getSCEV(ConstantInt::getAllOnesValue( in DoInitialMatch()
1092 SE.getSCEV(&PN) == AR) in isExistingPhi()
1155 return SE.getSCEV(UI) == Mul; in isHighCostExpansion()
2358 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(PH)); in OptimizeShadowIV()
2508 if (IterationCount != SE.getSCEV(Sel)) return Cond; in OptimizeMax()
2545 const SCEV *IV = SE.getSCEV(Cond->getOperand(0)); in OptimizeMax()
2562 if (BO1->isOne() && SE.getSCEV(BO->getOperand(0)) == MaxRHS) in OptimizeMax()
2566 if (BO1->isOne() && SE.getSCEV(BO->getOperand(0)) == MaxRHS) in OptimizeMax()
2570 } else if (SE.getSCEV(Sel->getOperand(1)) == MaxRHS) in OptimizeMax()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DSimplifyIndVar.cpp170 const auto *LHS = SE->getSCEV(IVSrc); in foldIVUser()
171 const auto *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()
300 auto *N = SE->getSCEV(SDiv->getOperand(0)); in eliminateSDiv()
301 auto *D = SE->getSCEV(SDiv->getOperand(1)); in eliminateSDiv()
377 const SCEV *N = SE->getSCEV(NValue); in simplifyIVRemainder()
389 const SCEV *D = SE->getSCEV(DValue); in simplifyIVRemainder()
416 const SCEV *LHS = SE->getSCEV(WO->getLHS()); in eliminateOverflowIntrinsic()
417 const SCEV *RHS = SE->getSCEV(WO->getRHS()); in eliminateOverflowIntrinsic()
[all …]
H A DLoopPeel.cpp387 const SCEV *LeftSCEV = SE.getSCEV(LeftVal); in countToEliminateCompares()
388 const SCEV *RightSCEV = SE.getSCEV(RightVal); in countToEliminateCompares()
456 BoundSCEV = SE.getSCEV(LHS); in countToEliminateCompares()
457 IterSCEV = SE.getSCEV(RHS); in countToEliminateCompares()
459 BoundSCEV = SE.getSCEV(RHS); in countToEliminateCompares()
460 IterSCEV = SE.getSCEV(LHS); in countToEliminateCompares()
H A DScalarEvolutionExpander.cpp540 X = SE.getSCEV(U->getValue()); in visitAddExpr()
966 const SCEVAddRecExpr *PhiSCEV = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(&PN)); in getAddRecExprPHILiterally()
1616 SE.getTruncateOrNoop(SE.getSCEV(OrigInc), IsomorphicInc->getType()); in replaceCongruentIVInc()
1617 if (OrigInc == IsomorphicInc || TruncExpr != SE.getSCEV(IsomorphicInc) || in replaceCongruentIVInc()
1704 auto *Const = dyn_cast<SCEVConstant>(SE.getSCEV(PN)); in replaceCongruentIVs()
1728 PHINode *&OrigPhiRef = ExprToIVMap[SE.getSCEV(Phi)]; in replaceCongruentIVs()
1736 const SCEV *PhiExpr = SE.getSCEV(Phi); in replaceCongruentIVs()
1791 if (SE.getSCEV(LHS) == S && SE.DT.dominates(LHS, At)) in hasRelatedExistingExpansion()
1794 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.cpp208 auto *EC= SE->getSCEV(ElemCount); in IsSafeActiveMask()
209 auto *TC = SE->getSCEV(TripCount); in IsSafeActiveMask()
231 auto *IVExpr = SE->getSCEV(IV); in IsSafeActiveMask()
294 auto *VW = 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/Transforms/Instrumentation/
H A DBoundsChecking.cpp78 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()
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DScalarEvolution.cpp2397 const SCEV *LHS = getSCEV(OBO->getOperand(0)); in getStrengthenedNoWrapFlagsFromBinOp()
2398 const SCEV *RHS = getSCEV(OBO->getOperand(1)); in getStrengthenedNoWrapFlagsFromBinOp()
3745 const SCEV *BaseExpr = getSCEV(GEP->getPointerOperand()); in getGEPExpr()
4569 const SCEV *ScalarEvolution::getSCEV(Value *V) { in getSCEV() function in ScalarEvolution
5006 Result = SE.getSCEV(IsOne ? SI->getTrueValue() : SI->getFalseValue()); in visitUnknown()
5507 const SCEV *BEValue = getSCEV(BEValueV); in createAddRecFromPHIWithCastsImpl()
5595 const SCEV *StartVal = getSCEV(StartValueV); in createAddRecFromPHIWithCastsImpl()
5765 Accum = getSCEV(BO->RHS); in createSimpleAffineAddRec()
5767 Accum = getSCEV(BO->LHS); in createSimpleAffineAddRec()
5778 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()
332 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.cpp157 const SCEV *OrigSCEV = PSE.getSCEV(Ptr); in replaceSymbolicStrideSCEV()
176 auto *Expr = PSE.getSCEV(Ptr); in replaceSymbolicStrideSCEV()
836 const SCEV *PtrScev = PSE.getSCEV(Ptr); in isNoWrap()
895 const SCEV *Scev = SE->getSCEV(Ptr); in findForkedSCEVs()
954 SE->getSCEV(GEP->getPointerOperand())->getType()); in findForkedSCEVs()
1091 auto *Expr = PSE.getSCEV(Ptr); in createCheckForAccess()
1447 auto *OpScev = PSE.getSCEV(OBO->getOperand(0)); in isNoWrapAddRec()
1602 const SCEV *PtrSCEVA = SE.getSCEV(PtrA); in getPointersDiff()
1603 const SCEV *PtrSCEVB = SE.getSCEV(PtrB); in getPointersDiff()
1925 const SCEV *Src = PSE.getSCEV(APtr); in getDependenceDistanceStrideAndSize()
[all …]
H A DIVDescriptors.cpp324 const SCEV *PtrScev = SE->getSCEV(SI->getPointerOperand()); in AddReductionVar()
328 SE->getSCEV(IntermediateStore->getPointerOperand()); in AddReductionVar()
1367 assert(PSE.getSCEV(PN) == AR && "Unexpected phi node SCEV expression"); in getCastsForInductionPHI()
1413 auto *AddRec = dyn_cast<SCEVAddRecExpr>(PSE.getSCEV(Val)); in getCastsForInductionPHI()
1449 const SCEV *PhiScev = PSE.getSCEV(Phi); in isInductionPHI()
1487 const SCEV *PhiScev = Expr ? Expr : SE->getSCEV(Phi); in isInductionPHI()
H A DLoopUnrollAnalyzer.cpp35 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 DLoopVectorizationLegality.cpp447 if (SE->getSCEV(APtr) == SE->getSCEV(BPtr)) in storeToSameAddress()
581 const SCEV *S = SE->getSCEV(V); in isUniform()
937 if (!SE->isLoopInvariant(PSE.getSCEV(CI->getOperand(i)), TheLoop)) { in canVectorizeInstrs()
1203 SE->getSCEV(V) == SE->getSCEV(InvariantAddress); in isInvariantAddressOfReduction()
H A DLoadStoreVectorizer.cpp1209 const SCEV *OffsetSCEVA = SE.getSCEV(ValA); in getConstantOffsetComplexAddrs()
1210 const SCEV *OffsetSCEVB = SE.getSCEV(OpB); in getConstantOffsetComplexAddrs()
1499 const SCEV *DistScev = SE.getMinusSCEV(SE.getSCEV(PtrB), SE.getSCEV(PtrA)); in getConstantOffset()

123