Home
last modified time | relevance | path

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

12

/external/llvm/lib/Transforms/Utils/
DSimplifyIndVar.cpp125 FoldedExpr = SE->getUDivExpr(SE->getSCEV(IVSrc), SE->getSCEV(D)); in foldIVUser()
132 if (SE->getSCEV(UseInst) != FoldedExpr) in foldIVUser()
139 assert(SE->getSCEV(UseInst) == FoldedExpr && "bad SCEV with folded oper"); in foldIVUser()
161 const SCEV *S = SE->getSCEV(ICmp->getOperand(IVOperIdx)); in eliminateIVComparison()
162 const SCEV *X = SE->getSCEV(ICmp->getOperand(1 - IVOperIdx)); in eliminateIVComparison()
243 const SCEV *IncomingS = SE->getSCEV(Incoming); in eliminateIVComparison()
279 const SCEV *S = SE->getSCEV(Rem->getOperand(0)); in eliminateIVRemainder()
280 const SCEV *X = SE->getSCEV(Rem->getOperand(1)); in eliminateIVRemainder()
370 const SCEV *LHS = SE->getSCEV(CI->getArgOperand(0)); in eliminateOverflowIntrinsic()
371 const SCEV *RHS = SE->getSCEV(CI->getArgOperand(1)); in eliminateOverflowIntrinsic()
[all …]
DLoopUtils.cpp715 const SCEV *S = SE->getAddExpr(SE->getSCEV(StartValue), in transform()
716 SE->getMulExpr(Step, SE->getSCEV(Index))); in transform()
724 const SCEV *S = SE->getMulExpr(SE->getSCEV(Index), Step); in transform()
743 const SCEV *PhiScev = PSE.getSCEV(Phi); in isInductionPHI()
768 const SCEV *PhiScev = Expr ? Expr : SE->getSCEV(Phi); in isInductionPHI()
/external/llvm/unittests/Analysis/
DScalarEvolutionTest.cpp65 const SCEV *S0 = SE.getSCEV(V0); in TEST_F()
66 const SCEV *S1 = SE.getSCEV(V1); in TEST_F()
67 const SCEV *S2 = SE.getSCEV(V2); in TEST_F()
117 A.push_back(SE.getSCEV(&*AI++)); in TEST_F()
118 A.push_back(SE.getSCEV(&*AI++)); in TEST_F()
119 A.push_back(SE.getSCEV(&*AI++)); in TEST_F()
120 A.push_back(SE.getSCEV(&*AI++)); in TEST_F()
121 A.push_back(SE.getSCEV(&*AI++)); in TEST_F()
125 B.push_back(SE.getSCEV(&*AI++)); in TEST_F()
126 B.push_back(SE.getSCEV(&*AI++)); in TEST_F()
[all …]
/external/swiftshader/third_party/LLVM/unittests/Analysis/
DScalarEvolutionTest.cpp56 const SCEV *S0 = SE.getSCEV(V0); in TEST_F()
57 const SCEV *S1 = SE.getSCEV(V1); in TEST_F()
58 const SCEV *S2 = SE.getSCEV(V2); in TEST_F()
110 A.push_back(SE.getSCEV(&*AI++)); in TEST_F()
111 A.push_back(SE.getSCEV(&*AI++)); in TEST_F()
112 A.push_back(SE.getSCEV(&*AI++)); in TEST_F()
113 A.push_back(SE.getSCEV(&*AI++)); in TEST_F()
114 A.push_back(SE.getSCEV(&*AI++)); in TEST_F()
118 B.push_back(SE.getSCEV(&*AI++)); in TEST_F()
119 B.push_back(SE.getSCEV(&*AI++)); in TEST_F()
[all …]
/external/swiftshader/third_party/LLVM/lib/Transforms/Utils/
DSimplifyIndVar.cpp128 FoldedExpr = SE->getUDivExpr(SE->getSCEV(IVSrc), SE->getSCEV(D)); in foldIVUser()
135 if (SE->getSCEV(UseInst) != FoldedExpr) in foldIVUser()
142 assert(SE->getSCEV(UseInst) == FoldedExpr && "bad SCEV with folded oper"); in foldIVUser()
164 const SCEV *S = SE->getSCEV(ICmp->getOperand(IVOperIdx)); in eliminateIVComparison()
165 const SCEV *X = SE->getSCEV(ICmp->getOperand(1 - IVOperIdx)); in eliminateIVComparison()
198 const SCEV *S = SE->getSCEV(Rem->getOperand(0)); in eliminateIVRemainder()
199 const SCEV *X = SE->getSCEV(Rem->getOperand(1)); in eliminateIVRemainder()
263 (SE->getSCEV(UseInst) != SE->getSCEV(IVOperand))) in eliminateIVUser()
306 const SCEV *S = SE->getSCEV(I); in isSimpleIVUser()
/external/llvm/lib/Transforms/Scalar/
DNaryReassociate.cpp250 const SCEV *OldSCEV = SE->getSCEV(&*I); in doOneIteration()
262 const SCEV *NewSCEV = SE->getSCEV(&*I); in doOneIteration()
376 IndexExprs.push_back(SE->getSCEV(*Index)); in tryReassociateGEPAtIndex()
378 IndexExprs[I] = SE->getSCEV(LHS); in tryReassociateGEPAtIndex()
390 GEP->getSourceElementType(), SE->getSCEV(GEP->getPointerOperand()), in tryReassociateGEPAtIndex()
457 const SCEV *AExpr = SE->getSCEV(A), *BExpr = SE->getSCEV(B); in tryReassociateBinaryOp()
458 const SCEV *RHSExpr = SE->getSCEV(RHS); in tryReassociateBinaryOp()
DAlignmentFromAssumptions.cpp131 const SCEV *PtrSCEV = SE->getSCEV(Ptr); in getNewAlignment()
217 const SCEV *CmpLHSSCEV = SE->getSCEV(CmpLHS); in extractAlignmentInfo()
218 const SCEV *CmpRHSSCEV = SE->getSCEV(CmpRHS); in extractAlignmentInfo()
232 const SCEV *AndLHSSCEV = SE->getSCEV(AndLHS); in extractAlignmentInfo()
233 const SCEV *AndRHSSCEV = SE->getSCEV(AndRHS); in extractAlignmentInfo()
300 const SCEV *AASCEV = SE->getSCEV(AAPtr); in processAssumption()
DStraightLineStrengthReduce.cpp370 allocateCandidatesAndFindBasis(Candidate::Add, SE->getSCEV(LHS), Idx, S, I); in allocateCandidatesAndFindBasisForAdd()
375 allocateCandidatesAndFindBasis(Candidate::Add, SE->getSCEV(LHS), Idx, S, I); in allocateCandidatesAndFindBasisForAdd()
379 allocateCandidatesAndFindBasis(Candidate::Add, SE->getSCEV(LHS), One, RHS, in allocateCandidatesAndFindBasisForAdd()
403 allocateCandidatesAndFindBasis(Candidate::Mul, SE->getSCEV(B), Idx, RHS, I); in allocateCandidatesAndFindBasisForMul()
409 allocateCandidatesAndFindBasis(Candidate::Mul, SE->getSCEV(B), Idx, RHS, I); in allocateCandidatesAndFindBasisForMul()
413 allocateCandidatesAndFindBasis(Candidate::Mul, SE->getSCEV(LHS), Zero, RHS, in allocateCandidatesAndFindBasisForMul()
490 IndexExprs.push_back(SE->getSCEV(*I)); in allocateCandidatesAndFindBasisForGEP()
503 SE->getSCEV(GEP->getPointerOperand()), in allocateCandidatesAndFindBasisForGEP()
DIndVarSimplify.cpp167 const SCEV *FromBase = SE->getPointerBase(SE->getSCEV(FromPtr)); in isValidRewrite()
168 const SCEV *ToBase = SE->getPointerBase(SE->getSCEV(ToPtr)); in isValidRewrite()
1045 WideLHS = SE->getSCEV(WideDef); in cloneArithmeticIVUser()
1046 const SCEV *NarrowRHS = SE->getSCEV(NarrowUse->getOperand(1)); in cloneArithmeticIVUser()
1049 const SCEV *NarrowLHS = SE->getSCEV(NarrowUse->getOperand(0)); in cloneArithmeticIVUser()
1051 WideRHS = SE->getSCEV(WideDef); in cloneArithmeticIVUser()
1143 SE->getSCEV(DU.NarrowUse->getOperand(ExtendOperIdx)), WideType); in getExtendedOperandRecurrence()
1146 SE->getSCEV(DU.NarrowUse->getOperand(ExtendOperIdx)), WideType); in getExtendedOperandRecurrence()
1155 const SCEV *lhs = SE->getSCEV(DU.WideDef); in getExtendedOperandRecurrence()
1178 const SCEV *NarrowExpr = SE->getSCEV(NarrowUse); in getWideRecurrence()
[all …]
DInductiveRangeCheckElimination.cpp259 const SCEV *S = SE.getSCEV(V); in parseRangeCheckICmp()
370 const auto *IndexAddRec = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(Index)); in extractRangeChecksFromCond()
670 const SCEV *LeftSCEV = SE.getSCEV(LeftValue); in parseLoopStructure()
674 const SCEV *RightSCEV = SE.getSCEV(RightValue); in parseLoopStructure()
841 const SCEV *Start = SE.getSCEV(MainLoopStructure.IndVarStart); in calculateSubRanges()
842 const SCEV *End = SE.getSCEV(MainLoopStructure.LoopExitAt); in calculateSubRanges()
871 Smallest = SE.getAddExpr(End, SE.getSCEV(One)); in calculateSubRanges()
872 Greatest = SE.getAddExpr(Start, SE.getSCEV(One)); in calculateSubRanges()
1334 UpperLimit = SE.getSCEV(V); in computeSafeIterationSpace()
1419 cast<SCEVAddRecExpr>(SE.getAddExpr(SE.getSCEV(LS.IndVarNext), MinusOne)); in runOnLoop()
DLoopIdiomRecognize.cpp357 dyn_cast<SCEVAddRecExpr>(SE->getSCEV(StorePtr)); in isLegalStore()
410 dyn_cast<SCEVAddRecExpr>(SE->getSCEV(LI->getPointerOperand())); in isLegalStore()
523 cast<SCEVAddRecExpr>(SE->getSCEV(FirstStorePtr)); in processLoopStores()
559 cast<SCEVAddRecExpr>(SE->getSCEV(SecondStorePtr)); in processLoopStores()
625 const SCEVAddRecExpr *StoreEv = cast<SCEVAddRecExpr>(SE->getSCEV(StorePtr)); in processLoopStores()
662 const SCEVAddRecExpr *Ev = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(Pointer)); in processLoopMemSet()
850 const SCEVAddRecExpr *StoreEv = cast<SCEVAddRecExpr>(SE->getSCEV(StorePtr)); in processLoopStoreOfLoopLoad()
863 cast<SCEVAddRecExpr>(SE->getSCEV(LI->getPointerOperand())); in processLoopStoreOfLoopLoad()
DLoopLoadElimination.cpp87 auto *LoadPtrSCEV = cast<SCEVAddRecExpr>(PSE.getSCEV(LoadPtr)); in isDependenceDistanceOfOne()
88 auto *StorePtrSCEV = cast<SCEVAddRecExpr>(PSE.getSCEV(StorePtr)); in isDependenceDistanceOfOne()
395 auto *PtrSCEV = cast<SCEVAddRecExpr>(PSE.getSCEV(Ptr)); in propagateStoredValueToLoadUsers()
DLoopStrengthReduce.cpp345 const SCEV *NegOne = SE.getSCEV(ConstantInt::getAllOnesValue( in DoInitialMatch()
721 SE.getSCEV(PN) == AR) in isExistingPhi()
781 return SE.getSCEV(UI) == Mul; in isHighCostExpansion()
1973 if (IterationCount != SE.getSCEV(Sel)) return Cond; in OptimizeMax()
2010 const SCEV *IV = SE.getSCEV(Cond->getOperand(0)); in OptimizeMax()
2027 if (BO1->isOne() && SE.getSCEV(BO->getOperand(0)) == MaxRHS) in OptimizeMax()
2031 if (BO1->isOne() && SE.getSCEV(BO->getOperand(0)) == MaxRHS) in OptimizeMax()
2035 } else if (SE.getSCEV(Sel->getOperand(1)) == MaxRHS) in OptimizeMax()
2037 else if (SE.getSCEV(Sel->getOperand(2)) == MaxRHS) in OptimizeMax()
2419 dyn_cast<SCEVAddRecExpr>(SE.getSCEV(Oper))) { in findIVOperand()
[all …]
DLoopRerollPass.cpp588 dyn_cast<SCEVAddRecExpr>(SE->getSCEV(&*I))) { in collectPossibleIVs()
967 const auto *ADR = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(V.BaseInst)); in findRoots()
982 const SCEV *StepSCEV = SE->getMinusSCEV(SE->getSCEV(V.Roots[0]), ADR); in findRoots()
1451 COp = dyn_cast<SCEVConstant>(SE->getSCEV(LoopInc->getOperand(1))); in updateNonLoopCtrlIncr()
1453 COp = dyn_cast<SCEVConstant>(SE->getSCEV(LoopInc->getOperand(0))); in updateNonLoopCtrlIncr()
1455 COp = dyn_cast<SCEVConstant>(SE->getSCEV(LoopInc->getOperand(1))); in updateNonLoopCtrlIncr()
1481 const SCEVAddRecExpr *RealIVSCEV = cast<SCEVAddRecExpr>(SE->getSCEV(Inst)); in replaceIV()
DLoopVersioningLICM.cpp350 if (SE->isLoopInvariant(SE->getSCEV(Ptr), CurLoop)) in instructionSafeForVersioning()
364 if (SE->isLoopInvariant(SE->getSCEV(Ptr), CurLoop)) in instructionSafeForVersioning()
/external/swiftshader/third_party/LLVM/lib/Analysis/
DScalarEvolution.cpp868 return getSCEV(UndefValue::get(Ty)); in getTruncateExpr()
1334 return getSCEV(UndefValue::get(Ty)); in getAnyExtendExpr()
2587 return getTruncateOrZeroExtend(getSCEV(C), Ty); in getSizeOfExpr()
2596 return getTruncateOrZeroExtend(getSCEV(C), Ty); in getAlignOfExpr()
2613 return getTruncateOrZeroExtend(getSCEV(C), Ty); in getOffsetOfExpr()
2623 return getTruncateOrZeroExtend(getSCEV(C), Ty); in getOffsetOfExpr()
2704 const SCEV *ScalarEvolution::getSCEV(Value *V) { in getSCEV() function in ScalarEvolution
3007 const SCEV *BEValue = getSCEV(BEValueV); in createNodeForPHI()
3058 const SCEV *StartVal = getSCEV(StartValueV); in createNodeForPHI()
3083 const SCEV *StartVal = getSCEV(StartValueV); in createNodeForPHI()
[all …]
DIVUsers.cpp100 const SCEV *ISE = SE->getSCEV(I); in AddUsersIfInteresting()
149 DEBUG(if (SE->getSCEV(I) != ISE) in AddUsersIfInteresting()
229 return SE->getSCEV(IU.getOperandValToReplace()); in getReplacementExpr()
DScalarEvolutionAliasAnalysis.cpp118 const SCEV *AS = SE->getSCEV(const_cast<Value *>(LocA.Ptr)); in alias()
119 const SCEV *BS = SE->getSCEV(const_cast<Value *>(LocB.Ptr)); in alias()
/external/swiftshader/third_party/LLVM/lib/Transforms/Scalar/
DIndVarSimplify.cpp183 const SCEV *FromBase = SE->getPointerBase(SE->getSCEV(FromPtr)); in isValidRewrite()
184 const SCEV *ToBase = SE->getPointerBase(SE->getSCEV(ToPtr)); in isValidRewrite()
942 SE->getSCEV(DU.NarrowUse->getOperand(ExtendOperIdx)), WideType); in GetExtendedOperandRecurrence()
945 SE->getSCEV(DU.NarrowUse->getOperand(ExtendOperIdx)), WideType); in GetExtendedOperandRecurrence()
950 SE->getAddExpr(SE->getSCEV(DU.WideDef), ExtendOperExpr, in GetExtendedOperandRecurrence()
967 const SCEV *NarrowExpr = SE->getSCEV(NarrowUse); in GetWideRecurrence()
1066 if (WideAddRec != SE->getSCEV(WideUse)) { in WidenIVUse()
1068 << ": " << *SE->getSCEV(WideUse) << " != " << *WideAddRec << "\n"); in WidenIVUse()
1104 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(OrigPhi)); in CreateWideIV()
1142 WideIncExpr = SE->getSCEV(WideInc); in CreateWideIV()
[all …]
DLoopIdiomRecognize.cpp284 dyn_cast<SCEVAddRecExpr>(SE->getSCEV(StorePtr)); in processLoopStore()
315 dyn_cast<SCEVAddRecExpr>(SE->getSCEV(LI->getOperand(0))); in processLoopStore()
341 const SCEVAddRecExpr *Ev = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(Pointer)); in processLoopMemSet()
/external/llvm/lib/Analysis/
DScalarEvolutionAliasAnalysis.cpp34 const SCEV *AS = SE.getSCEV(const_cast<Value *>(LocA.Ptr)); in alias()
35 const SCEV *BS = SE.getSCEV(const_cast<Value *>(LocB.Ptr)); in alias()
DScalarEvolution.cpp3414 const SCEV *ScalarEvolution::getSCEV(Value *V) { in getSCEV() function in ScalarEvolution
3949 const SCEV *BEValue = getSCEV(BEValueV); in createAddRecFromPHI()
3999 const SCEV *Ptr = getSCEV(GEP->getPointerOperand()); in createAddRecFromPHI()
4000 if (isKnownPositive(getMinusSCEV(getSCEV(GEP), Ptr))) in createAddRecFromPHI()
4009 const SCEV *StartVal = getSCEV(StartValueV); in createAddRecFromPHI()
4042 const SCEV *StartVal = getSCEV(StartValueV); in createAddRecFromPHI()
4199 IsAvailableOnEntry(L, DT, getSCEV(LHS), PN->getParent()) && in createNodeFromSelectLikePHI()
4200 IsAvailableOnEntry(L, DT, getSCEV(RHS), PN->getParent())) in createNodeFromSelectLikePHI()
4220 return getSCEV(V); in createNodeForPHI()
4233 return getSCEV(CI->isOne() ? TrueVal : FalseVal); in createNodeForSelectOrPHI()
[all …]
DIVUsers.cpp149 const SCEV *ISE = SE->getSCEV(I); in AddUsersImpl()
228 DEBUG(if (SE->getSCEV(I) != ISE) in AddUsersImpl()
325 return SE->getSCEV(IU.getOperandValToReplace()); in getReplacementExpr()
DLoopAccessAnalysis.cpp117 const SCEV *OrigSCEV = PSE.getSCEV(Ptr); in replaceSymbolicStrideSCEV()
135 const auto *U = cast<SCEVUnknown>(SE->getSCEV(StrideVal)); in replaceSymbolicStrideSCEV()
140 auto *Expr = PSE.getSCEV(Ptr); in replaceSymbolicStrideSCEV()
574 const SCEV *PtrScev = PSE.getSCEV(Ptr); in isNoWrap()
859 auto *OpScev = PSE.getSCEV(OBO->getOperand(0)); in isNoWrapAddRec()
1042 const SCEV *PtrSCEVA = SE.getSCEV(PtrA); in isConsecutiveAccess()
1043 const SCEV *PtrSCEVB = SE.getSCEV(PtrB); in isConsecutiveAccess()
1202 const SCEV *Src = PSE.getSCEV(APtr); in isDependent()
1203 const SCEV *Sink = PSE.getSCEV(BPtr); in isDependent()
1754 return (PSE->getSE()->isLoopInvariant(PSE->getSE()->getSCEV(V), TheLoop)); in isUniform()
[all …]
DScalarEvolutionExpander.cpp702 X = SE.getSCEV(U->getValue()); in visitAddExpr()
712 SE.getSCEV(Sum)); in visitAddExpr()
989 const SCEV *const StepArray[1] = { SE.getSCEV(StepV) }; in expandIVInc()
1112 const SCEVAddRecExpr *PhiSCEV = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(PN)); in getAddRecExprPHILiterally()
1783 auto *Const = dyn_cast<SCEVConstant>(SE.getSCEV(PN)); in replaceCongruentIVs()
1805 PHINode *&OrigPhiRef = ExprToIVMap[SE.getSCEV(Phi)]; in replaceCongruentIVs()
1813 SE.getTruncateExpr(SE.getSCEV(Phi), Phis.back()->getType()); in replaceCongruentIVs()
1850 SE.getTruncateOrNoop(SE.getSCEV(OrigInc), IsomorphicInc->getType()); in replaceCongruentIVs()
1852 TruncExpr == SE.getSCEV(IsomorphicInc) && in replaceCongruentIVs()
1909 if (SE.getSCEV(LHS) == S && SE.DT.dominates(LHS, At)) in findExistingExpansion()
[all …]

12