Home
last modified time | relevance | path

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

/external/llvm/lib/Transforms/Utils/
DSimplifyIndVar.cpp126 FoldedExpr = SE->getUDivExpr(SE->getSCEV(IVSrc), SE->getSCEV(D)); in foldIVUser()
133 if (SE->getSCEV(UseInst) != FoldedExpr) in foldIVUser()
140 assert(SE->getSCEV(UseInst) == FoldedExpr && "bad SCEV with folded oper"); in foldIVUser()
162 const SCEV *S = SE->getSCEV(ICmp->getOperand(IVOperIdx)); in eliminateIVComparison()
163 const SCEV *X = SE->getSCEV(ICmp->getOperand(1 - IVOperIdx)); in eliminateIVComparison()
196 const SCEV *S = SE->getSCEV(Rem->getOperand(0)); in eliminateIVRemainder()
197 const SCEV *X = SE->getSCEV(Rem->getOperand(1)); in eliminateIVRemainder()
256 (SE->getSCEV(UseInst) != SE->getSCEV(IVOperand))) in eliminateIVUser()
299 const SCEV *LHS = SE->getSCEV(BO->getOperand(0)); in strengthenOverflowingOperation()
300 const SCEV *RHS = SE->getSCEV(BO->getOperand(1)); in strengthenOverflowingOperation()
[all …]
/external/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/llvm/lib/Transforms/Scalar/
DNaryReassociate.cpp194 SeenExprs[SE->getSCEV(I)].push_back(I); in doOneIteration()
217 const SCEV *AExpr = SE->getSCEV(A), *BExpr = SE->getSCEV(B); in tryReassociateAdd()
218 const SCEV *RHSExpr = SE->getSCEV(RHS); in tryReassociateAdd()
DAlignmentFromAssumptions.cpp139 const SCEV *PtrSCEV = SE->getSCEV(Ptr); in getNewAlignment()
224 const SCEV *CmpLHSSCEV = SE->getSCEV(CmpLHS); in extractAlignmentInfo()
225 const SCEV *CmpRHSSCEV = SE->getSCEV(CmpRHS); in extractAlignmentInfo()
239 const SCEV *AndLHSSCEV = SE->getSCEV(AndLHS); in extractAlignmentInfo()
240 const SCEV *AndRHSSCEV = SE->getSCEV(AndRHS); in extractAlignmentInfo()
308 const SCEV *AASCEV = SE->getSCEV(AAPtr); in processAssumption()
DStraightLineStrengthReduce.cpp392 allocateCandidatesAndFindBasis(Candidate::Add, SE->getSCEV(LHS), Idx, S, I); in allocateCandidatesAndFindBasisForAdd()
397 allocateCandidatesAndFindBasis(Candidate::Add, SE->getSCEV(LHS), Idx, S, I); in allocateCandidatesAndFindBasisForAdd()
401 allocateCandidatesAndFindBasis(Candidate::Add, SE->getSCEV(LHS), One, RHS, in allocateCandidatesAndFindBasisForAdd()
414 allocateCandidatesAndFindBasis(Candidate::Mul, SE->getSCEV(B), Idx, RHS, I); in allocateCandidatesAndFindBasisForMul()
418 allocateCandidatesAndFindBasis(Candidate::Mul, SE->getSCEV(LHS), Zero, RHS, in allocateCandidatesAndFindBasisForMul()
493 const SCEV *GEPExpr = SE->getSCEV(GEP); in allocateCandidatesAndFindBasisForGEP()
504 const SCEV *ArrayIdxExpr = SE->getSCEV(ArrayIdx); in allocateCandidatesAndFindBasisForGEP()
DInductiveRangeCheckElimination.cpp264 const SCEV *S = SE.getSCEV(V); in parseRangeCheckICmp()
355 Index = SE.getSCEV(IndexA); in parseRangeCheck()
372 Index = SE.getSCEV(IndexVal); in parseRangeCheck()
692 const SCEV *LeftSCEV = SE.getSCEV(LeftValue); in parseLoopStructure()
696 const SCEV *RightSCEV = SE.getSCEV(RightValue); in parseLoopStructure()
863 const SCEV *Start = SE.getSCEV(MainLoopStructure.IndVarStart); in calculateSubRanges()
864 const SCEV *End = SE.getSCEV(MainLoopStructure.LoopExitAt); in calculateSubRanges()
893 Smallest = SE.getAddExpr(End, SE.getSCEV(One)); in calculateSubRanges()
894 Greatest = SE.getAddExpr(Start, SE.getSCEV(One)); in calculateSubRanges()
1357 UpperLimit = SE.getSCEV(V); in computeSafeIterationSpace()
[all …]
DIndVarSimplify.cpp178 const SCEV *FromBase = SE->getPointerBase(SE->getSCEV(FromPtr)); in isValidRewrite()
179 const SCEV *ToBase = SE->getPointerBase(SE->getSCEV(ToPtr)); in isValidRewrite()
891 SE->getSCEV(DU.NarrowUse->getOperand(ExtendOperIdx)), WideType); in GetExtendedOperandRecurrence()
894 SE->getSCEV(DU.NarrowUse->getOperand(ExtendOperIdx)), WideType); in GetExtendedOperandRecurrence()
903 const SCEV *lhs = SE->getSCEV(DU.WideDef); in GetExtendedOperandRecurrence()
927 const SCEV *NarrowExpr = SE->getSCEV(NarrowUse); in GetWideRecurrence()
1086 if (WideAddRec != SE->getSCEV(WideUse)) { in WidenIVUse()
1088 << ": " << *SE->getSCEV(WideUse) << " != " << *WideAddRec << "\n"); in WidenIVUse()
1123 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(OrigPhi)); in CreateWideIV()
1161 WideIncExpr = SE->getSCEV(WideInc); in CreateWideIV()
[all …]
DLoopStrengthReduce.cpp327 const SCEV *NegOne = SE.getSCEV(ConstantInt::getAllOnesValue( in DoInitialMatch()
730 SE.getSCEV(PN) == AR) in isExistingPhi()
791 return SE.getSCEV(UI) == Mul; in isHighCostExpansion()
2005 if (IterationCount != SE.getSCEV(Sel)) return Cond; in OptimizeMax()
2042 const SCEV *IV = SE.getSCEV(Cond->getOperand(0)); in OptimizeMax()
2059 if (BO1->isOne() && SE.getSCEV(BO->getOperand(0)) == MaxRHS) in OptimizeMax()
2063 if (BO1->isOne() && SE.getSCEV(BO->getOperand(0)) == MaxRHS) in OptimizeMax()
2067 } else if (SE.getSCEV(Sel->getOperand(1)) == MaxRHS) in OptimizeMax()
2069 else if (SE.getSCEV(Sel->getOperand(2)) == MaxRHS) in OptimizeMax()
2452 dyn_cast<SCEVAddRecExpr>(SE.getSCEV(Oper))) { in findIVOperand()
[all …]
DLoopRerollPass.cpp480 dyn_cast<SCEVAddRecExpr>(SE->getSCEV(I))) { in collectPossibleIVs()
822 const SCEVAddRecExpr *RealIVSCEV = cast<SCEVAddRecExpr>(SE->getSCEV(IV)); in findRoots()
856 const auto *ADR = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(V.BaseInst)); in findRoots()
871 const SCEV *StepSCEV = SE->getMinusSCEV(SE->getSCEV(V.Roots[0]), ADR); in findRoots()
1276 cast<SCEVAddRecExpr>(SE->getSCEV(DRS.BaseInst)); in replace()
DLoopUnrollPass.cpp394 const SCEV *BaseAddrSE = SE.getSCEV(BaseAddr); in computeLoadValue()
395 const SCEV *S = SE.getSCEV(LI->getPointerOperand()); in computeLoadValue()
444 const SCEV *S = SE.getSCEV(AddrOp); in findConstFoldableLoads()
DLoopIdiomRecognize.cpp744 dyn_cast<SCEVAddRecExpr>(SE->getSCEV(StorePtr)); in processLoopStore()
775 dyn_cast<SCEVAddRecExpr>(SE->getSCEV(LI->getOperand(0))); in processLoopStore()
801 const SCEVAddRecExpr *Ev = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(Pointer)); in processLoopMemSet()
DLoopInterchange.cpp311 dyn_cast<SCEVAddRecExpr>(SE->getSCEV(PhiVar)); in getInductionVariable()
814 const SCEV *OperandVal = SE->getSCEV(GEP->getOperand(i)); in getInstrOrderCost()
/external/llvm/lib/Analysis/
DScalarEvolutionAliasAnalysis.cpp119 const SCEV *AS = SE->getSCEV(const_cast<Value *>(LocA.Ptr)); in alias()
120 const SCEV *BS = SE->getSCEV(const_cast<Value *>(LocB.Ptr)); in alias()
DScalarEvolution.cpp3250 const SCEV *ScalarEvolution::getSCEV(Value *V) { in getSCEV() function in ScalarEvolution
3560 const SCEV *BEValue = getSCEV(BEValueV); in createNodeForPHI()
3612 const SCEV *Ptr = getSCEV(GEP->getPointerOperand()); in createNodeForPHI()
3613 if (isKnownPositive(getMinusSCEV(getSCEV(GEP), Ptr))) in createNodeForPHI()
3622 const SCEV *StartVal = getSCEV(StartValueV); in createNodeForPHI()
3647 const SCEV *StartVal = getSCEV(StartValueV); in createNodeForPHI()
3678 return getSCEV(V); in createNodeForPHI()
3717 const SCEV *IndexS = getSCEV(Index); in createNodeForGEP()
3730 const SCEV *BaseS = getSCEV(Base); in createNodeForGEP()
4087 return GA->mayBeOverridden() ? getUnknown(V) : getSCEV(GA->getAliasee()); in createSCEV()
[all …]
DIVUsers.cpp141 const SCEV *ISE = SE->getSCEV(I); in AddUsersImpl()
220 DEBUG(if (SE->getSCEV(I) != ISE) in AddUsersImpl()
313 return SE->getSCEV(IU.getOperandValToReplace()); in getReplacementExpr()
DScalarEvolutionExpander.cpp703 X = SE.getSCEV(U->getValue()); in visitAddExpr()
713 SE.getSCEV(Sum)); in visitAddExpr()
967 const SCEV *const StepArray[1] = { SE.getSCEV(StepV) }; in expandIVInc()
1088 const SCEVAddRecExpr *PhiSCEV = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(PN)); in getAddRecExprPHILiterally()
1725 PHINode *&OrigPhiRef = ExprToIVMap[SE.getSCEV(Phi)]; in replaceCongruentIVs()
1733 SE.getTruncateExpr(SE.getSCEV(Phi), Phis.back()->getType()); in replaceCongruentIVs()
1767 const SCEV *TruncExpr = SE.getTruncateOrNoop(SE.getSCEV(OrigInc), in replaceCongruentIVs()
1770 && TruncExpr == SE.getSCEV(IsomorphicInc) in replaceCongruentIVs()
1842 const SCEV *RHS = SE.getSCEV(OrigCond->getOperand(1)); in isHighCostExpansionHelper()
1845 const SCEV *LHS = SE.getSCEV(OrigCond->getOperand(0)); in isHighCostExpansionHelper()
DLoopAccessAnalysis.cpp87 const SCEV *OrigSCEV = SE->getSCEV(Ptr); in replaceSymbolicStrideSCEV()
112 return SE->getSCEV(Ptr); in replaceSymbolicStrideSCEV()
1201 return (SE->isLoopInvariant(SE->getSCEV(V), TheLoop)); in isUniform()
1230 const SCEV *Sc = SE->getSCEV(Ptr); in addRuntimeCheck()
DDependenceAnalysis.cpp3344 const SCEV *SrcPtrSCEV = SE->getSCEV(SrcGEP->getPointerOperand()); in depends()
3345 const SCEV *DstPtrSCEV = SE->getSCEV(DstGEP->getPointerOperand()); in depends()
3363 Pair[P].Src = SE->getSCEV(*SrcIdx); in depends()
3364 Pair[P].Dst = SE->getSCEV(*DstIdx); in depends()
3370 const SCEV *SrcSCEV = SE->getSCEV(SrcPtr); in depends()
3371 const SCEV *DstSCEV = SE->getSCEV(DstPtr); in depends()
3776 const SCEV *SrcPtrSCEV = SE->getSCEV(SrcGEP->getPointerOperand()); in getSplitIteration()
3777 const SCEV *DstPtrSCEV = SE->getSCEV(DstGEP->getPointerOperand()); in getSplitIteration()
3791 Pair[P].Src = SE->getSCEV(*SrcIdx); in getSplitIteration()
3792 Pair[P].Dst = SE->getSCEV(*DstIdx); in getSplitIteration()
[all …]
/external/llvm/lib/Target/PowerPC/
DPPCLoopDataPrefetch.cpp179 const SCEV *LSCEV = SE->getSCEV(PtrValue); in runOnLoop()
/external/llvm/lib/Transforms/Vectorize/
DLoopVectorize.cpp1653 if (!SE->isLoopInvariant(SE->getSCEV(Gep->getOperand(i)), TheLoop)) in isConsecutivePtr()
1666 !SE->isLoopInvariant(SE->getSCEV(Gep->getOperand(i)), TheLoop)) in isConsecutivePtr()
1673 Last = SE->getSCEV(Gep->getOperand(InductionOperand)); in isConsecutivePtr()
1793 assert(SE->isLoopInvariant(SE->getSCEV(Gep->getPointerOperand()), in vectorizeMemoryInstruction()
1811 SE->isLoopInvariant(SE->getSCEV(GepOperandInst), OrigLoop)) && in vectorizeMemoryInstruction()
3213 bool InvariantCond = SE->isLoopInvariant(SE->getSCEV(it->getOperand(0)), in vectorizeBlockInLoop()
3778 if (!SE->isLoopInvariant(SE->getSCEV(CI->getOperand(1)), TheLoop)) { in canVectorizeInstrs()
3849 !SE->isLoopInvariant(SE->getSCEV(GEP->getOperand(i)), Lp)) in stripGetElementPtr()
3886 const SCEV *V = SE->getSCEV(Ptr); in getStrideFromPointer()
4328 const SCEV *PhiScev = SE->getSCEV(Phi); in isInductionPHI()
[all …]
DBBVectorize.cpp630 const SCEV *IPtrSCEV = SE->getSCEV(IPtr); in getPairPtrInfo()
631 const SCEV *JPtrSCEV = SE->getSCEV(JPtr); in getPairPtrInfo()
1106 const SCEV *A1ISCEV = SE->getSCEV(A1I), in areInstsCompatible()
1107 *A1JSCEV = SE->getSCEV(A1J); in areInstsCompatible()
DSLPVectorizer.cpp1827 const SCEV *PtrSCEVA = SE->getSCEV(PtrA); in isConsecutiveAccess()
1828 const SCEV *PtrSCEVB = SE->getSCEV(PtrB); in isConsecutiveAccess()
/external/llvm/include/llvm/Analysis/
DScalarEvolution.h605 const SCEV *getSCEV(Value *V);