| /netbsd-src/external/apache2/llvm/dist/llvm/lib/Analysis/ |
| H A D | LoopCacheAnalysis.cpp | 82 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(&AccessFn); in isOneDimensionalArray() 91 if (isa<SCEVAddRecExpr>(Start) || isa<SCEVAddRecExpr>(Step)) in isOneDimensionalArray() 369 const SCEVAddRecExpr *AccessFnAR = dyn_cast<SCEVAddRecExpr>(AccessFn); in delinearize() 430 assert(isa<SCEVAddRecExpr>(LastSubscript) && in getLastCoefficient() 432 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(LastSubscript); in getLastCoefficient() 438 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(&Subscript); in isCoeffForLoopZeroOrInvariant() 445 if (!isa<SCEVAddRecExpr>(Subscript)) in isSimpleAddRecurrence() 448 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(&Subscript); in isSimpleAddRecurrence()
|
| H A D | ScalarEvolutionNormalization.cpp | 42 const SCEV *visitAddRecExpr(const SCEVAddRecExpr *Expr); 47 NormalizeDenormalizeRewriter::visitAddRecExpr(const SCEVAddRecExpr *AR) { in visitAddRecExpr() 99 auto Pred = [&](const SCEVAddRecExpr *AR) { in normalizeForPostIncUse() 113 auto Pred = [&](const SCEVAddRecExpr *AR) { in denormalizeForPostIncUse()
|
| H A D | IVUsers.cpp | 63 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in isInteresting() 256 auto NormalizePred = [&](const SCEVAddRecExpr *AR) { in AddUsersImpl() 395 static const SCEVAddRecExpr *findAddRecForLoop(const SCEV *S, const Loop *L) { in findAddRecForLoop() 396 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in findAddRecForLoop() 404 if (const SCEVAddRecExpr *AR = findAddRecForLoop(Op, L)) in findAddRecForLoop() 413 if (const SCEVAddRecExpr *AR = findAddRecForLoop(getExpr(IU), L)) in getStride()
|
| H A D | ScalarEvolution.cpp | 285 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(this); in print() 740 const SCEVAddRecExpr *LA = cast<SCEVAddRecExpr>(LHS); in CompareSCEVComplexity() 741 const SCEVAddRecExpr *RA = cast<SCEVAddRecExpr>(RHS); in CompareSCEVComplexity() 1026 const SCEV *SCEVAddRecExpr::evaluateAtIteration(const SCEV *It, in evaluateAtIteration() 1248 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Op)) { in getTruncateExpr() 1365 static const SCEV *getPreStartForExtend(const SCEVAddRecExpr *AR, Type *Ty, in getPreStartForExtend() 1397 const SCEVAddRecExpr *PreAR = dyn_cast<SCEVAddRecExpr>( in getPreStartForExtend() 1420 SE->setNoWrapFlags(const_cast<SCEVAddRecExpr *>(PreAR), WrapType); in getPreStartForExtend() 1439 static const SCEV *getExtendAddRecStart(const SCEVAddRecExpr *AR, Type *Ty, in getExtendAddRecStart() 1511 static_cast<SCEVAddRecExpr *>(UniqueSCEVs.FindNodeOrInsertPos(ID, IP)); in proveNoWrapByVaryingStart() [all …]
|
| H A D | DependenceAnalysis.cpp | 891 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Expr); in checkSubscript() 1026 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(Bound)) { in isKnownLessThan() 1048 if (const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(S)) { in isKnownNonNegative() 2146 const SCEVAddRecExpr *SrcAddRec = dyn_cast<SCEVAddRecExpr>(Src); in testSIV() 2147 const SCEVAddRecExpr *DstAddRec = dyn_cast<SCEVAddRecExpr>(Dst); in testSIV() 2223 const SCEVAddRecExpr *SrcAddRec = dyn_cast<SCEVAddRecExpr>(Src); in testRDIV() 2224 const SCEVAddRecExpr *DstAddRec = dyn_cast<SCEVAddRecExpr>(Dst); in testRDIV() 2234 if (const SCEVAddRecExpr *tmpAddRec = in testRDIV() 2235 dyn_cast<SCEVAddRecExpr>(SrcAddRec->getStart())) { in testRDIV() 2247 if (const SCEVAddRecExpr *tmpAddRec = in testRDIV() [all …]
|
| H A D | ScalarEvolutionAliasAnalysis.cpp | 104 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) { in GetBaseValue()
|
| H A D | LoopAccessAnalysis.cpp | 205 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(Sc); in insert() 632 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(PtrScev); in hasComputableBounds() 673 if (!Assume || !isa<SCEVAddRecExpr>(Expr)) in createCheckForAccess() 970 static bool isNoWrapAddRec(Value *Ptr, const SCEVAddRecExpr *AR, in isNoWrapAddRec() 1009 if (auto *OpAR = dyn_cast<SCEVAddRecExpr>(OpScev)) in isNoWrapAddRec() 1033 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(PtrScev); in getPtrStride()
|
| /netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/Scalar/ |
| H A D | LoopDataPrefetch.cpp | 76 bool isStrideLargeEnough(const SCEVAddRecExpr *AR, unsigned TargetMinStride); 153 bool LoopDataPrefetch::isStrideLargeEnough(const SCEVAddRecExpr *AR, in isStrideLargeEnough() 231 const SCEVAddRecExpr *LSCEVAddRec; 240 Prefetch(const SCEVAddRecExpr *L, Instruction *I) in Prefetch() 340 const SCEVAddRecExpr *LSCEVAddRec = dyn_cast<SCEVAddRecExpr>(LSCEV); in runOnLoop()
|
| H A D | LoopIdiomRecognize.cpp | 223 const SCEVAddRecExpr *Ev, const SCEV *BECount, 230 const SCEVAddRecExpr *StoreEv, 231 const SCEVAddRecExpr *LoadEv, 425 static APInt getStoreStride(const SCEVAddRecExpr *StoreEv) { in getStoreStride() 506 const SCEVAddRecExpr *StoreEv = in isLegalStore() 507 dyn_cast<SCEVAddRecExpr>(SE->getSCEV(StorePtr)); in isLegalStore() 565 const SCEVAddRecExpr *LoadEv = in isLegalStore() 566 dyn_cast<SCEVAddRecExpr>(SE->getSCEV(LI->getPointerOperand())); in isLegalStore() 671 const SCEVAddRecExpr *FirstStoreEv = in processLoopStores() 672 cast<SCEVAddRecExpr>(SE->getSCEV(FirstStorePtr)); in processLoopStores() [all …]
|
| H A D | LoopLoadElimination.cpp | 120 auto *LoadPtrSCEV = cast<SCEVAddRecExpr>(PSE.getSCEV(LoadPtr)); in isDependenceDistanceOfOne() 121 auto *StorePtrSCEV = cast<SCEVAddRecExpr>(PSE.getSCEV(StorePtr)); in isDependenceDistanceOfOne() 431 auto *PtrSCEV = cast<SCEVAddRecExpr>(PSE.getSCEV(Ptr)); in propagateStoredValueToLoadUsers() 508 assert(isa<SCEVAddRecExpr>(PSE.getSCEV(Cand.Load->getPointerOperand())) && in processLoop() 511 isa<SCEVAddRecExpr>(PSE.getSCEV(Cand.Store->getPointerOperand())) && in processLoop() 573 return !isa<SCEVAddRecExpr>( in processLoop() 575 !isa<SCEVAddRecExpr>( in processLoop()
|
| H A D | LoopStrengthReduce.cpp | 423 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) in DoInitialMatch() 491 const SCEVAddRecExpr *SAR = dyn_cast<const SCEVAddRecExpr>(ScaledReg); in isCanonical() 499 return isa<const SCEVAddRecExpr>(S) && in isCanonical() 500 (cast<SCEVAddRecExpr>(S)->getLoop() == &L); in isCanonical() 527 const SCEVAddRecExpr *SAR = dyn_cast<const SCEVAddRecExpr>(ScaledReg); in canonicalize() 530 return isa<const SCEVAddRecExpr>(S) && in canonicalize() 531 (cast<SCEVAddRecExpr>(S)->getLoop() == &L); in canonicalize() 643 static bool isAddRecSExtable(const SCEVAddRecExpr *AR, ScalarEvolution &SE) { in isAddRecSExtable() 646 return isa<SCEVAddRecExpr>(SE.getSignExtendExpr(AR, WideTy)); in isAddRecSExtable() 703 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(LHS)) { in getExactSDiv() [all …]
|
| H A D | InductiveRangeCheckElimination.cpp | 217 const SCEVAddRecExpr *IndVar, 380 const auto *IndexAddRec = dyn_cast<SCEVAddRecExpr>(SE.getSCEV(Index)); in extractRangeChecksFromCond() 809 if (!isa<SCEVAddRecExpr>(LeftSCEV)) { in parseLoopStructure() 810 if (isa<SCEVAddRecExpr>(RightSCEV)) { in parseLoopStructure() 820 auto HasNoSignedWrap = [&](const SCEVAddRecExpr *AR) { in parseLoopStructure() 828 const SCEVAddRecExpr *ExtendAfterOp = in parseLoopStructure() 829 dyn_cast<SCEVAddRecExpr>(SE.getSignExtendExpr(AR, WideTy)); in parseLoopStructure() 849 const SCEVAddRecExpr *IndVarBase = cast<SCEVAddRecExpr>(LeftSCEV); in parseLoopStructure() 1583 ScalarEvolution &SE, const SCEVAddRecExpr *IndVar, in computeSafeIterationSpace() 1931 const SCEVAddRecExpr *IndVar = in run() [all …]
|
| H A D | IndVarSimplify.cpp | 868 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(Phi)); in isLoopCounter() 879 isa<SCEVAddRecExpr>(SE->getSCEV(IncV))); in isLoopCounter() 912 const auto *AR = cast<SCEVAddRecExpr>(SE->getSCEV(Phi)); in FindLoopCounter() 977 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(SE->getSCEV(IndVar)); in genLoopLimit() 1107 const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(SE->getSCEV(IncVar)); in linearFunctionTestReplace() 1855 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(ExitCount); in run()
|
| H A D | AlignmentFromAssumptions.cpp | 155 if (const SCEVAddRecExpr *DiffARSCEV = dyn_cast<SCEVAddRecExpr>(DiffSCEV)) { in getNewAlignment()
|
| H A D | LoopPredication.cpp | 240 const SCEVAddRecExpr *IV; 242 LoopICmp(ICmpInst::Predicate Pred, const SCEVAddRecExpr *IV, in LoopICmp() 393 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(LHSS); in parseLoopICmp() 489 NewLatchCheck.IV = dyn_cast<SCEVAddRecExpr>( in generateLoopLatchCheck()
|
| H A D | LoopRerollPass.cpp | 593 if (const SCEVAddRecExpr *PHISCEV = in collectPossibleIVs() 594 dyn_cast<SCEVAddRecExpr>(SE->getSCEV(&*I))) { in collectPossibleIVs() 907 const auto *ADR = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(DRS.BaseInst)); in validateRootSet() 932 const auto *IVU_ADR = dyn_cast<SCEVAddRecExpr>(SE->getSCEV(IVU)); in findRootsBase() 1450 const SCEVAddRecExpr *IVSCEV = in replace() 1451 cast<SCEVAddRecExpr>(SE->getSCEV(DRS.BaseInst)); in replace()
|
| /netbsd-src/external/apache2/llvm/dist/llvm/include/llvm/Analysis/ |
| H A D | ScalarEvolution.h | 67 class SCEVAddRecExpr; variable 367 getImpliedFlags(const SCEVAddRecExpr *AR, ScalarEvolution &SE); 370 const SCEVAddRecExpr *AR; 375 const SCEVAddRecExpr *AR, 962 const SCEVAddRecExpr *LHS, const SCEV *RHS); 979 getMonotonicPredicateType(const SCEVAddRecExpr *LHS, 1167 getWrapPredicate(const SCEVAddRecExpr *AR, 1175 const SCEVAddRecExpr *convertSCEVToAddRecWithPredicates( 1191 void setNoWrapFlags(SCEVAddRecExpr *AddRec, SCEV::NoWrapFlags Flags); 1561 ConstantRange getRangeForAffineNoSelfWrappingAR(const SCEVAddRecExpr *AddRec, [all …]
|
| H A D | ScalarEvolutionNormalization.h | 46 class SCEVAddRecExpr; variable 50 typedef function_ref<bool(const SCEVAddRecExpr *)> NormalizePredTy;
|
| H A D | ScalarEvolutionExpressions.h | 352 class SCEVAddRecExpr : public SCEVNAryExpr { 357 SCEVAddRecExpr(const FoldingSetNodeIDRef ID, in SCEVAddRecExpr() function 415 const SCEVAddRecExpr *getPostIncExpr(ScalarEvolution &SE) const; 588 return ((SC*)this)->visitAddRecExpr((const SCEVAddRecExpr*)S); in visit() 788 const SCEV *visitAddRecExpr(const SCEVAddRecExpr *Expr) { in visitAddRecExpr() 892 const SCEV *visitAddRecExpr(const SCEVAddRecExpr *Expr) { in visitAddRecExpr() 903 const SCEVAddRecExpr *Rec = cast<SCEVAddRecExpr>(Res); in visitAddRecExpr()
|
| H A D | ScalarEvolutionDivision.h | 50 void visitAddRecExpr(const SCEVAddRecExpr *Numerator);
|
| /netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/Utils/ |
| H A D | ScalarEvolutionExpander.cpp | 337 if (const SCEVAddRecExpr *A = dyn_cast<SCEVAddRecExpr>(S)) { in FactorOutConstant() 363 for (unsigned i = Ops.size(); i > 0 && isa<SCEVAddRecExpr>(Ops[i-1]); --i) in SimplifyAddOperands() 394 while (const SCEVAddRecExpr *A = dyn_cast<SCEVAddRecExpr>(Ops[i])) { in SplitAddRecs() 679 if (const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S)) in getRelevantLoop() 921 while (const SCEVAddRecExpr *A = dyn_cast<SCEVAddRecExpr>(Base)) { in ExposePointerBase() 1137 const SCEVAddRecExpr *Phi, in canBeCheaplyTransformed() 1138 const SCEVAddRecExpr *Requested, in canBeCheaplyTransformed() 1147 Phi = dyn_cast<SCEVAddRecExpr>(SE.getTruncateOrNoop(Phi, RequestedTy)); in canBeCheaplyTransformed() 1167 static bool IsIncrementNSW(ScalarEvolution &SE, const SCEVAddRecExpr *AR) { in IsIncrementNSW() 1181 static bool IsIncrementNUW(ScalarEvolution &SE, const SCEVAddRecExpr *AR) { in IsIncrementNUW() [all …]
|
| H A D | SimplifyIndVar.cpp | 861 const SCEVAddRecExpr *AR = dyn_cast<SCEVAddRecExpr>(S); in isSimpleIVUser() 1094 Instruction *cloneIVUser(NarrowIVDefUse DU, const SCEVAddRecExpr *WideAR); 1096 const SCEVAddRecExpr *WideAR); 1101 using WidenedRecTy = std::pair<const SCEVAddRecExpr *, ExtendKind>; 1202 const SCEVAddRecExpr *WideAR) { in cloneIVUser() 1254 const SCEVAddRecExpr *WideAR) { in cloneArithmeticIVUser() 1392 const SCEVAddRecExpr *AddRec = in getExtendedOperandRecurrence() 1393 dyn_cast<SCEVAddRecExpr>(getSCEVByOpCode(lhs, rhs, OpCode)); in getExtendedOperandRecurrence() 1422 if (isa<SCEVAddRecExpr>(WideExpr)) in getWideRecurrence() 1435 const SCEVAddRecExpr *AddRec = dyn_cast<SCEVAddRecExpr>(WideExpr); in getWideRecurrence() [all …]
|
| H A D | LoopPeel.cpp | 219 if (!isa<SCEVAddRecExpr>(LeftSCEV)) { in countToEliminateCompares() 220 if (isa<SCEVAddRecExpr>(RightSCEV)) { in countToEliminateCompares() 227 const SCEVAddRecExpr *LeftAR = cast<SCEVAddRecExpr>(LeftSCEV); in countToEliminateCompares()
|
| /netbsd-src/external/apache2/llvm/dist/llvm/lib/Target/PowerPC/ |
| H A D | PPCLoopInstrFormPrep.cpp | 367 const SCEVAddRecExpr *LARSCEV = dyn_cast<SCEVAddRecExpr>(LSCEV); in collectCandidates() 496 const SCEVAddRecExpr *BasePtrSCEV = in rewriteLoadStores() 497 cast<SCEVAddRecExpr>(BucketChain.BaseSCEV); in rewriteLoadStores() 759 const SCEVAddRecExpr *PHIBasePtrSCEV = dyn_cast<SCEVAddRecExpr>(PHISCEV); in alreadyPrepared() 847 const SCEVAddRecExpr *LARSCEV = dyn_cast<SCEVAddRecExpr>(LSCEV); in runOnLoop()
|
| /netbsd-src/external/apache2/llvm/dist/llvm/include/llvm/Transforms/Utils/ |
| H A D | ScalarEvolutionExpander.h | 292 Value *generateOverflowCheck(const SCEVAddRecExpr *AR, Instruction *Loc, 462 Value *visitAddRecExpr(const SCEVAddRecExpr *S); 480 Value *expandAddRecExprLiterally(const SCEVAddRecExpr *); 481 PHINode *getAddRecExprPHILiterally(const SCEVAddRecExpr *Normalized,
|