/external/llvm/unittests/Analysis/ |
D | ScalarEvolutionTest.cpp | 63 ScalarEvolution SE = buildSE(*F); in TEST_F() local 65 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() 69 const SCEV *P0 = SE.getAddExpr(S0, S0); in TEST_F() 70 const SCEV *P1 = SE.getAddExpr(S1, S1); in TEST_F() 71 const SCEV *P2 = SE.getAddExpr(S2, S2); in TEST_F() 108 ScalarEvolution SE = buildSE(*F); in TEST_F() local 117 A.push_back(SE.getSCEV(&*AI++)); in TEST_F() 118 A.push_back(SE.getSCEV(&*AI++)); in TEST_F() [all …]
|
/external/llvm-project/llvm/unittests/Analysis/ |
D | ScalarEvolutionTest.cpp | 54 function_ref<void(Function &F, LoopInfo &LI, ScalarEvolution &SE)> Test) { in runWithSE() 57 ScalarEvolution SE = buildSE(*F); in runWithSE() local 58 Test(*F, *LI, SE); in runWithSE() 61 static Optional<APInt> computeConstantDifference(ScalarEvolution &SE, in computeConstantDifference() argument 64 return SE.computeConstantDifference(LHS, RHS); in computeConstantDifference() 67 static bool matchURem(ScalarEvolution &SE, const SCEV *Expr, const SCEV *&LHS, in matchURem() argument 69 return SE.matchURem(Expr, LHS, RHS); in matchURem() 86 ScalarEvolution SE = buildSE(*F); in TEST_F() local 88 const SCEV *S0 = SE.getSCEV(V0); in TEST_F() 89 const SCEV *S1 = SE.getSCEV(V1); in TEST_F() [all …]
|
/external/llvm/lib/Transforms/Utils/ |
D | SimplifyIndVar.cpp | 48 ScalarEvolution *SE; member in __anon874e3a210111::SimplifyIndvar 56 SimplifyIndvar(Loop *Loop, ScalarEvolution *SE, DominatorTree *DT, in SimplifyIndvar() argument 58 : L(Loop), LI(LI), SE(SE), DT(DT), DeadInsts(Dead), Changed(false) { in SimplifyIndvar() 113 assert(SE->isSCEVable(IVSrc->getType()) && "Expect SCEVable IV operand"); in foldIVUser() 125 FoldedExpr = SE->getUDivExpr(SE->getSCEV(IVSrc), SE->getSCEV(D)); in foldIVUser() 128 if (!SE->isSCEVable(UseInst->getType())) 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() [all …]
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Scalar/ |
D | InductiveRangeCheckElimination.cpp | 148 static bool parseRangeCheckICmp(Loop *L, ICmpInst *ICI, ScalarEvolution &SE, 153 extractRangeChecksFromCond(Loop *L, ScalarEvolution &SE, Use &ConditionUse, 198 bool isEmpty(ScalarEvolution &SE, bool IsSigned) const { in isEmpty() argument 202 return SE.isKnownPredicate(ICmpInst::ICMP_SGE, Begin, End); in isEmpty() 204 return SE.isKnownPredicate(ICmpInst::ICMP_UGE, Begin, End); in isEmpty() 215 Optional<Range> computeSafeIterationSpace(ScalarEvolution &SE, 225 extractRangeChecksFromBranch(BranchInst *BI, Loop *L, ScalarEvolution &SE, 231 ScalarEvolution &SE; member in __anone2718a660111::InductiveRangeCheckElimination 237 InductiveRangeCheckElimination(ScalarEvolution &SE, in InductiveRangeCheckElimination() argument 240 : SE(SE), BPI(BPI), DT(DT), LI(LI) {} in InductiveRangeCheckElimination() [all …]
|
D | IndVarSimplify.cpp | 138 ScalarEvolution *SE; member in __anonafbcc8a80111::IndVarSimplify 170 IndVarSimplify(LoopInfo *LI, ScalarEvolution *SE, DominatorTree *DT, in IndVarSimplify() argument 173 : LI(LI), SE(SE), DT(DT), DL(DL), TLI(TLI), TTI(TTI) {} in IndVarSimplify() 219 const SCEV *FromBase = SE->getPointerBase(SE->getSCEV(FromPtr)); in isValidRewrite() 220 const SCEV *ToBase = SE->getPointerBase(SE->getSCEV(ToPtr)); in isValidRewrite() 521 SE->forgetLoop(L); in rewriteNonIntegerIVs() 611 if (!SE->isSCEVable(PN->getType())) in rewriteLoopExitValues() 619 SE->forgetValue(PN); in rewriteLoopExitValues() 644 const SCEV *ExitValue = SE->getSCEVAtScope(Inst, L->getParentLoop()); in rewriteLoopExitValues() 646 !SE->isLoopInvariant(ExitValue, L) || in rewriteLoopExitValues() [all …]
|
D | AlignmentFromAssumptions.cpp | 95 ScalarEvolution *SE) { in getNewAlignmentDiff() argument 97 const SCEV *DiffUnitsSCEV = SE->getURemExpr(DiffSCEV, AlignSCEV); in getNewAlignmentDiff() 128 ScalarEvolution *SE) { in getNewAlignment() argument 129 const SCEV *PtrSCEV = SE->getSCEV(Ptr); in getNewAlignment() 130 const SCEV *DiffSCEV = SE->getMinusSCEV(PtrSCEV, AASCEV); in getNewAlignment() 134 DiffSCEV = SE->getNoopOrSignExtend(DiffSCEV, OffSCEV->getType()); in getNewAlignment() 138 DiffSCEV = SE->getMinusSCEV(DiffSCEV, OffSCEV); in getNewAlignment() 144 unsigned NewAlignment = getNewAlignmentDiff(DiffSCEV, AlignSCEV, SE); in getNewAlignment() 159 const SCEV *DiffIncSCEV = DiffARSCEV->getStepRecurrence(*SE); in getNewAlignment() 168 NewAlignment = getNewAlignmentDiff(DiffStartSCEV, AlignSCEV, SE); in getNewAlignment() [all …]
|
/external/llvm/lib/Analysis/ |
D | ScalarEvolutionExpander.cpp | 83 assert(SE.DT.dominates(Ret, &*BIP)); in ReuseOrCreateCast() 118 assert(SE.getTypeSizeInBits(V->getType()) == SE.getTypeSizeInBits(Ty) && in InsertNoopCastOfTo() 132 SE.getTypeSizeInBits(Ty) == SE.getTypeSizeInBits(V->getType())) { in InsertNoopCastOfTo() 136 SE.getTypeSizeInBits(CI->getType()) == in InsertNoopCastOfTo() 137 SE.getTypeSizeInBits(CI->getOperand(0)->getType())) in InsertNoopCastOfTo() 142 SE.getTypeSizeInBits(CE->getType()) == in InsertNoopCastOfTo() 143 SE.getTypeSizeInBits(CE->getOperand(0)->getType())) in InsertNoopCastOfTo() 202 while (const Loop *L = SE.LI.getLoopFor(Builder.GetInsertBlock())) { in InsertBinop() 227 const SCEV *Factor, ScalarEvolution &SE, in FactorOutConstant() argument 235 S = SE.getConstant(S->getType(), 1); in FactorOutConstant() [all …]
|
D | DependenceAnalysis.cpp | 120 auto &SE = FAM.getResult<ScalarEvolutionAnalysis>(F); in run() local 122 return DependenceInfo(&F, &AA, &SE, &LI); in run() 143 auto &SE = getAnalysis<ScalarEvolutionWrapperPass>().getSE(); in runOnFunction() local 145 info.reset(new DependenceInfo(&F, &AA, &SE, &LI)); in runOnFunction() 344 return SE->getNegativeSCEV(C); in getD() 375 A = SE->getOne(D->getType()); in setDistance() 376 B = SE->getNegativeSCEV(A); in setDistance() 377 C = SE->getNegativeSCEV(D); in setDistance() 384 SE = NewSE; in setAny() 463 const SCEV *Prod1 = SE->getMulExpr(X->getA(), Y->getB()); in intersectConstraints() [all …]
|
/external/llvm-project/llvm/lib/Transforms/Scalar/ |
D | InductiveRangeCheckElimination.cpp | 150 static bool parseRangeCheckICmp(Loop *L, ICmpInst *ICI, ScalarEvolution &SE, 155 extractRangeChecksFromCond(Loop *L, ScalarEvolution &SE, Use &ConditionUse, 199 bool isEmpty(ScalarEvolution &SE, bool IsSigned) const { in isEmpty() argument 203 return SE.isKnownPredicate(ICmpInst::ICMP_SGE, Begin, End); in isEmpty() 205 return SE.isKnownPredicate(ICmpInst::ICMP_UGE, Begin, End); in isEmpty() 216 Optional<Range> computeSafeIterationSpace(ScalarEvolution &SE, 226 extractRangeChecksFromBranch(BranchInst *BI, Loop *L, ScalarEvolution &SE, 234 ScalarEvolution &SE; member in __anon613299520111::InductiveRangeCheckElimination 248 InductiveRangeCheckElimination(ScalarEvolution &SE, in InductiveRangeCheckElimination() argument 251 : SE(SE), BPI(BPI), DT(DT), LI(LI), GetBFI(GetBFI) {} in InductiveRangeCheckElimination() [all …]
|
D | AlignmentFromAssumptions.cpp | 97 ScalarEvolution *SE) { in getNewAlignmentDiff() argument 99 const SCEV *DiffUnitsSCEV = SE->getURemExpr(DiffSCEV, AlignSCEV); in getNewAlignmentDiff() 129 ScalarEvolution *SE) { in getNewAlignment() argument 130 const SCEV *PtrSCEV = SE->getSCEV(Ptr); in getNewAlignment() 134 PtrSCEV = SE->getTruncateOrZeroExtend( in getNewAlignment() 135 PtrSCEV, SE->getEffectiveSCEVType(AASCEV->getType())); in getNewAlignment() 136 const SCEV *DiffSCEV = SE->getMinusSCEV(PtrSCEV, AASCEV); in getNewAlignment() 140 DiffSCEV = SE->getNoopOrSignExtend(DiffSCEV, OffSCEV->getType()); in getNewAlignment() 144 DiffSCEV = SE->getMinusSCEV(DiffSCEV, OffSCEV); in getNewAlignment() 150 if (MaybeAlign NewAlignment = getNewAlignmentDiff(DiffSCEV, AlignSCEV, SE)) { in getNewAlignment() [all …]
|
D | IndVarSimplify.cpp | 144 ScalarEvolution *SE; member in __anon76f57f940111::IndVarSimplify 173 IndVarSimplify(LoopInfo *LI, ScalarEvolution *SE, DominatorTree *DT, in IndVarSimplify() argument 176 : LI(LI), SE(SE), DT(DT), DL(DL), TLI(TLI), TTI(TTI), in IndVarSimplify() 425 SE->forgetLoop(L); in rewriteNonIntegerIVs() 512 ScalarEvolution *SE, in visitIVCast() argument 519 uint64_t Width = SE->getTypeSizeInBits(Ty); in visitIVCast() 527 uint64_t NarrowIVWidth = SE->getTypeSizeInBits(WI.NarrowIV->getType()); in visitIVCast() 545 WI.WidestNativeType = SE->getEffectiveSCEVType(Ty); in visitIVCast() 554 if (Width > SE->getTypeSizeInBits(WI.WidestNativeType)) in visitIVCast() 555 WI.WidestNativeType = SE->getEffectiveSCEVType(Ty); in visitIVCast() [all …]
|
/external/tcpdump/tests/ |
D | telnet-iac-check-oobr.out | 2 …SE, SB 0x7b 0xf5 0 0 0x1 0x1 0x8 0xa 0x7 0x1d 0xa8 0xd4 0x59 0x3c 0x88 0xa8 0xff 0xfe 0x24 0xff 0x…
|
/external/llvm-project/llvm/lib/Analysis/ |
D | LoopCacheAnalysis.cpp | 81 const Loop &L, ScalarEvolution &SE) { in isOneDimensionalArray() argument 90 const SCEV *Step = AR->getStepRecurrence(SE); in isOneDimensionalArray() 95 if (!SE.isLoopInvariant(Start, &L) || !SE.isLoopInvariant(Step, &L)) in isOneDimensionalArray() 98 const SCEV *StepRec = AR->getStepRecurrence(SE); in isOneDimensionalArray() 99 if (StepRec && SE.isKnownNegative(StepRec)) in isOneDimensionalArray() 100 StepRec = SE.getNegativeSCEV(StepRec); in isOneDimensionalArray() 107 static const SCEV *computeTripCount(const Loop &L, ScalarEvolution &SE) { in computeTripCount() argument 108 const SCEV *BackedgeTakenCount = SE.getBackedgeTakenCount(&L); in computeTripCount() 113 return SE.getAddExpr(BackedgeTakenCount, in computeTripCount() 114 SE.getOne(BackedgeTakenCount->getType())); in computeTripCount() [all …]
|
D | ScalarEvolutionDivision.cpp | 57 void SCEVDivision::divide(ScalarEvolution &SE, const SCEV *Numerator, in divide() argument 62 SCEVDivision D(SE, Numerator, Denominator); in divide() 90 divide(SE, *Quotient, Op, &Q, &R); in divide() 125 Quotient = SE.getConstant(QuotientVal); in visitConstant() 126 Remainder = SE.getConstant(RemainderVal); in visitConstant() 135 divide(SE, Numerator->getStart(), Denominator, &StartQ, &StartR); in visitAddRecExpr() 136 divide(SE, Numerator->getStepRecurrence(SE), Denominator, &StepQ, &StepR); in visitAddRecExpr() 142 Quotient = SE.getAddRecExpr(StartQ, StepQ, Numerator->getLoop(), in visitAddRecExpr() 144 Remainder = SE.getAddRecExpr(StartR, StepR, Numerator->getLoop(), in visitAddRecExpr() 154 divide(SE, Op, Denominator, &Q, &R); in visitAddExpr() [all …]
|
D | DependenceAnalysis.cpp | 128 auto &SE = FAM.getResult<ScalarEvolutionAnalysis>(F); in run() local 130 return DependenceInfo(&F, &AA, &SE, &LI); in run() 156 auto &SE = getAnalysis<ScalarEvolutionWrapperPass>().getSE(); in runOnFunction() local 158 info.reset(new DependenceInfo(&F, &AA, &SE, &LI)); in runOnFunction() 364 return SE->getNegativeSCEV(C); in getD() 395 A = SE->getOne(D->getType()); in setDistance() 396 B = SE->getNegativeSCEV(A); in setDistance() 397 C = SE->getNegativeSCEV(D); in setDistance() 404 SE = NewSE; in setAny() 484 const SCEV *Prod1 = SE->getMulExpr(X->getA(), Y->getB()); in intersectConstraints() [all …]
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Utils/ |
D | SimplifyIndVar.cpp | 55 ScalarEvolution *SE; member in __anon9ff57f030111::SimplifyIndvar 63 SimplifyIndvar(Loop *Loop, ScalarEvolution *SE, DominatorTree *DT, in SimplifyIndvar() argument 66 : L(Loop), LI(LI), SE(SE), DT(DT), Rewriter(Rewriter), DeadInsts(Dead), in SimplifyIndvar() 132 assert(SE->isSCEVable(IVSrc->getType()) && "Expect SCEVable IV operand"); in foldIVUser() 144 FoldedExpr = SE->getUDivExpr(SE->getSCEV(IVSrc), SE->getSCEV(D)); in foldIVUser() 148 SE->getSCEV(IVSrc) != SE->getMulExpr(FoldedExpr, SE->getSCEV(D))) in foldIVUser() 152 if (!SE->isSCEVable(UseInst->getType())) in foldIVUser() 156 if (SE->getSCEV(UseInst) != FoldedExpr) in foldIVUser() 163 assert(SE->getSCEV(UseInst) == FoldedExpr && "bad SCEV with folded oper"); in foldIVUser() 189 const SCEV *S = SE->getSCEVAtScope(ICmp->getOperand(IVOperIdx), ICmpLoop); in makeIVComparisonInvariant() [all …]
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Analysis/ |
D | ScalarEvolutionExpander.cpp | 80 assert(SE.DT.dominates(Ret, &*BIP)); in ReuseOrCreateCast() 115 assert(SE.getTypeSizeInBits(V->getType()) == SE.getTypeSizeInBits(Ty) && in InsertNoopCastOfTo() 129 SE.getTypeSizeInBits(Ty) == SE.getTypeSizeInBits(V->getType())) { in InsertNoopCastOfTo() 133 SE.getTypeSizeInBits(CI->getType()) == in InsertNoopCastOfTo() 134 SE.getTypeSizeInBits(CI->getOperand(0)->getType())) in InsertNoopCastOfTo() 139 SE.getTypeSizeInBits(CE->getType()) == in InsertNoopCastOfTo() 140 SE.getTypeSizeInBits(CE->getOperand(0)->getType())) in InsertNoopCastOfTo() 217 while (const Loop *L = SE.LI.getLoopFor(Builder.GetInsertBlock())) { in InsertBinop() 244 const SCEV *Factor, ScalarEvolution &SE, in FactorOutConstant() argument 252 S = SE.getConstant(S->getType(), 1); in FactorOutConstant() [all …]
|
D | LoopCacheAnalysis.cpp | 76 const Loop &L, ScalarEvolution &SE) { in isOneDimensionalArray() argument 85 const SCEV *Step = AR->getStepRecurrence(SE); in isOneDimensionalArray() 90 if (!SE.isLoopInvariant(Start, &L) || !SE.isLoopInvariant(Step, &L)) in isOneDimensionalArray() 93 return AR->getStepRecurrence(SE) == &ElemSize; in isOneDimensionalArray() 98 static const SCEV *computeTripCount(const Loop &L, ScalarEvolution &SE) { in computeTripCount() argument 99 const SCEV *BackedgeTakenCount = SE.getBackedgeTakenCount(&L); in computeTripCount() 104 return SE.getAddExpr(BackedgeTakenCount, in computeTripCount() 105 SE.getOne(BackedgeTakenCount->getType())); in computeTripCount() 130 const LoopInfo &LI, ScalarEvolution &SE) in IndexedReference() argument 131 : StoreOrLoadInst(StoreOrLoadInst), SE(SE) { in IndexedReference() [all …]
|
D | DependenceAnalysis.cpp | 128 auto &SE = FAM.getResult<ScalarEvolutionAnalysis>(F); in run() local 130 return DependenceInfo(&F, &AA, &SE, &LI); in run() 156 auto &SE = getAnalysis<ScalarEvolutionWrapperPass>().getSE(); in runOnFunction() local 158 info.reset(new DependenceInfo(&F, &AA, &SE, &LI)); in runOnFunction() 364 return SE->getNegativeSCEV(C); in getD() 395 A = SE->getOne(D->getType()); in setDistance() 396 B = SE->getNegativeSCEV(A); in setDistance() 397 C = SE->getNegativeSCEV(D); in setDistance() 404 SE = NewSE; in setAny() 484 const SCEV *Prod1 = SE->getMulExpr(X->getA(), Y->getB()); in intersectConstraints() [all …]
|
/external/llvm-project/llvm/unittests/Transforms/Utils/ |
D | ScalarEvolutionExpanderTest.cpp | 55 function_ref<void(Function &F, LoopInfo &LI, ScalarEvolution &SE)> Test) { in runWithSE() 58 ScalarEvolution SE = buildSE(*F); in runWithSE() local 59 Test(*F, *LI, SE); in runWithSE() 118 ScalarEvolution SE = buildSE(*F); in TEST_F() local 119 auto *S = SE.getSCEV(CastB); in TEST_F() 120 SCEVExpander Exp(SE, M.getDataLayout(), "expander"); in TEST_F() 199 ScalarEvolution SE = buildSE(*F); in TEST_F() local 201 SE.getAddRecExpr(SE.getUnknown(GepBase), SE.getConstant(T_int64, 1), in TEST_F() 204 SCEVExpander Exp(SE, NIM.getDataLayout(), "expander"); in TEST_F() 273 ScalarEvolution SE = buildSE(*F); in TEST_F() local [all …]
|
/external/llvm-project/llvm/lib/Transforms/Utils/ |
D | ScalarEvolutionExpander.cpp | 86 assert(SE.DT.dominates(Ret, &*BIP)); in ReuseOrCreateCast() 126 assert(SE.getTypeSizeInBits(V->getType()) == SE.getTypeSizeInBits(Ty) && in InsertNoopCastOfTo() 156 SE.getTypeSizeInBits(Ty) == SE.getTypeSizeInBits(V->getType())) { in InsertNoopCastOfTo() 160 SE.getTypeSizeInBits(CI->getType()) == in InsertNoopCastOfTo() 161 SE.getTypeSizeInBits(CI->getOperand(0)->getType())) in InsertNoopCastOfTo() 166 SE.getTypeSizeInBits(CE->getType()) == in InsertNoopCastOfTo() 167 SE.getTypeSizeInBits(CE->getOperand(0)->getType())) in InsertNoopCastOfTo() 244 while (const Loop *L = SE.LI.getLoopFor(Builder.GetInsertBlock())) { in InsertBinop() 270 const SCEV *Factor, ScalarEvolution &SE, in FactorOutConstant() argument 278 S = SE.getConstant(S->getType(), 1); in FactorOutConstant() [all …]
|
D | SimplifyIndVar.cpp | 55 ScalarEvolution *SE; member in __anon9e3d086f0111::SimplifyIndvar 64 SimplifyIndvar(Loop *Loop, ScalarEvolution *SE, DominatorTree *DT, in SimplifyIndvar() argument 68 : L(Loop), LI(LI), SE(SE), DT(DT), TTI(TTI), Rewriter(Rewriter), in SimplifyIndvar() 134 assert(SE->isSCEVable(IVSrc->getType()) && "Expect SCEVable IV operand"); in foldIVUser() 146 FoldedExpr = SE->getUDivExpr(SE->getSCEV(IVSrc), SE->getSCEV(D)); in foldIVUser() 150 SE->getSCEV(IVSrc) != SE->getMulExpr(FoldedExpr, SE->getSCEV(D))) in foldIVUser() 154 if (!SE->isSCEVable(UseInst->getType())) in foldIVUser() 158 if (SE->getSCEV(UseInst) != FoldedExpr) in foldIVUser() 165 assert(SE->getSCEV(UseInst) == FoldedExpr && "bad SCEV with folded oper"); in foldIVUser() 191 const SCEV *S = SE->getSCEVAtScope(ICmp->getOperand(IVOperIdx), ICmpLoop); in makeIVComparisonInvariant() [all …]
|
/external/llvm/lib/Transforms/Scalar/ |
D | AlignmentFromAssumptions.cpp | 95 ScalarEvolution *SE) { in getNewAlignmentDiff() argument 97 const SCEV *DiffAlignDiv = SE->getUDivExpr(DiffSCEV, AlignSCEV); in getNewAlignmentDiff() 98 const SCEV *DiffAlign = SE->getMulExpr(DiffAlignDiv, AlignSCEV); in getNewAlignmentDiff() 99 const SCEV *DiffUnitsSCEV = SE->getMinusSCEV(DiffAlign, DiffSCEV); in getNewAlignmentDiff() 130 ScalarEvolution *SE) { in getNewAlignment() argument 131 const SCEV *PtrSCEV = SE->getSCEV(Ptr); in getNewAlignment() 132 const SCEV *DiffSCEV = SE->getMinusSCEV(PtrSCEV, AASCEV); in getNewAlignment() 136 DiffSCEV = SE->getNoopOrSignExtend(DiffSCEV, OffSCEV->getType()); in getNewAlignment() 140 DiffSCEV = SE->getMinusSCEV(DiffSCEV, OffSCEV); in getNewAlignment() 146 unsigned NewAlignment = getNewAlignmentDiff(DiffSCEV, AlignSCEV, SE); in getNewAlignment() [all …]
|
D | InductiveRangeCheckElimination.cpp | 125 ScalarEvolution &SE, Value *&Index, 129 extractRangeChecksFromCond(Loop *L, ScalarEvolution &SE, Use &ConditionUse, 187 Optional<Range> computeSafeIterationSpace(ScalarEvolution &SE, 196 extractRangeChecksFromBranch(BranchInst *BI, Loop *L, ScalarEvolution &SE, 255 ScalarEvolution &SE, Value *&Index, in parseRangeCheckICmp() argument 258 auto IsNonNegativeAndNotLoopVarying = [&SE, L](Value *V) { in parseRangeCheckICmp() 259 const SCEV *S = SE.getSCEV(V); in parseRangeCheckICmp() 263 return SE.getLoopDisposition(S, L) == ScalarEvolution::LoopInvariant && in parseRangeCheckICmp() 264 SE.isKnownNonNegative(S); in parseRangeCheckICmp() 319 Loop *L, ScalarEvolution &SE, Use &ConditionUse, in extractRangeChecksFromCond() argument [all …]
|
/external/llvm-project/polly/lib/Support/ |
D | SCEVValidator.cpp | 137 ScalarEvolution &SE; member 141 SCEVValidator(const Region *R, Loop *Scope, ScalarEvolution &SE, in SCEVValidator() 143 : R(R), Scope(Scope), SE(SE), ILS(ILS) {} in SCEVValidator() 238 ValidatorResult Recurrence = visit(Expr->getStepRecurrence(SE)); in visitAddRecExpr() 275 const SCEV *ZeroStartExpr = SE.getAddRecExpr( in visitAddRecExpr() 276 SE.getConstant(Expr->getStart()->getType(), 0), in visitAddRecExpr() 277 Expr->getStepRecurrence(SE), Expr->getLoop(), Expr->getNoWrapFlags()); in visitAddRecExpr() 415 auto *Dividend = SE.getSCEV(SDiv->getOperand(0)); in visitSDivInstruction() 416 auto *Divisor = SE.getSCEV(SDiv->getOperand(1)); in visitSDivInstruction() 430 auto *DividendSCEV = SE.getSCEV(Dividend); in visitSRemInstruction() [all …]
|