/external/llvm/lib/Transforms/Utils/ |
D | SimplifyIndVar.cpp | 126 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/ |
D | ScalarEvolutionTest.cpp | 56 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/ |
D | NaryReassociate.cpp | 194 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()
|
D | AlignmentFromAssumptions.cpp | 139 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()
|
D | StraightLineStrengthReduce.cpp | 392 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()
|
D | InductiveRangeCheckElimination.cpp | 264 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 …]
|
D | IndVarSimplify.cpp | 178 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 …]
|
D | LoopStrengthReduce.cpp | 327 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 …]
|
D | LoopRerollPass.cpp | 480 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()
|
D | LoopUnrollPass.cpp | 394 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()
|
D | LoopIdiomRecognize.cpp | 744 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()
|
D | LoopInterchange.cpp | 311 dyn_cast<SCEVAddRecExpr>(SE->getSCEV(PhiVar)); in getInductionVariable() 814 const SCEV *OperandVal = SE->getSCEV(GEP->getOperand(i)); in getInstrOrderCost()
|
/external/llvm/lib/Analysis/ |
D | ScalarEvolutionAliasAnalysis.cpp | 119 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()
|
D | ScalarEvolution.cpp | 3250 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 …]
|
D | IVUsers.cpp | 141 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()
|
D | ScalarEvolutionExpander.cpp | 703 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()
|
D | LoopAccessAnalysis.cpp | 87 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()
|
D | DependenceAnalysis.cpp | 3344 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/ |
D | PPCLoopDataPrefetch.cpp | 179 const SCEV *LSCEV = SE->getSCEV(PtrValue); in runOnLoop()
|
/external/llvm/lib/Transforms/Vectorize/ |
D | LoopVectorize.cpp | 1653 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 …]
|
D | BBVectorize.cpp | 630 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()
|
D | SLPVectorizer.cpp | 1827 const SCEV *PtrSCEVA = SE->getSCEV(PtrA); in isConsecutiveAccess() 1828 const SCEV *PtrSCEVB = SE->getSCEV(PtrB); in isConsecutiveAccess()
|
/external/llvm/include/llvm/Analysis/ |
D | ScalarEvolution.h | 605 const SCEV *getSCEV(Value *V);
|