|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Derived Classes
include/llvm/IR/PassManagerInternal.h 137 template <typename T> struct Checker : CheckerBase, T {};
Declarations
include/llvm/Analysis/DependenceAnalysis.h 51 class ScalarEvolution;
include/llvm/Analysis/IVDescriptors.h 45 class ScalarEvolution;
include/llvm/Analysis/IVUsers.h 28 class ScalarEvolution;
include/llvm/Analysis/Loads.h 25 class ScalarEvolution;
include/llvm/Analysis/LoopAccessAnalysis.h 33 class ScalarEvolution;
include/llvm/Analysis/LoopInfo.h 64 class ScalarEvolution;
include/llvm/Analysis/ScalarEvolution.h 65 class ScalarEvolution;
include/llvm/Analysis/ScalarEvolutionNormalization.h 45 class ScalarEvolution;
include/llvm/Analysis/TargetTransformInfo.h 50 class ScalarEvolution;
include/llvm/Analysis/VectorUtils.h 139 class ScalarEvolution;
include/llvm/CodeGen/BasicTTIImpl.h 61 class ScalarEvolution;
include/llvm/Transforms/Scalar/NaryReassociate.h 95 class ScalarEvolution;
include/llvm/Transforms/Utils/LoopRotationUtils.h 23 class ScalarEvolution;
include/llvm/Transforms/Utils/LoopUtils.h 48 class ScalarEvolution;
include/llvm/Transforms/Utils/LoopVersioning.h 28 class ScalarEvolution;
include/llvm/Transforms/Utils/SimplifyIndVar.h 27 class ScalarEvolution;
include/llvm/Transforms/Utils/UnrollLoop.h 35 class ScalarEvolution;
include/llvm/Transforms/Vectorize/LoopVectorize.h 75 class ScalarEvolution;
include/llvm/Transforms/Vectorize/SLPVectorizer.h 43 class ScalarEvolution;
lib/Target/AArch64/AArch64TargetTransformInfo.h 36 class ScalarEvolution;
lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h 37 class ScalarEvolution;
lib/Target/ARM/ARMTargetTransformInfo.h 37 class ScalarEvolution;
lib/Target/Hexagon/HexagonTargetTransformInfo.h 29 class ScalarEvolution;
tools/polly/include/polly/CodeGen/IRBuilder.h 23 class ScalarEvolution;
tools/polly/include/polly/Support/ScopHelper.h 24 class ScalarEvolution;
References
include/llvm/Analysis/DependenceAnalysis.h 273 DependenceInfo(Function *F, AliasAnalysis *AA, ScalarEvolution *SE,
337 ScalarEvolution *SE;
386 ScalarEvolution *SE;
451 void setAny(ScalarEvolution *SE);
include/llvm/Analysis/IVDescriptors.h 294 isInductionPHI(PHINode *Phi, const Loop *L, ScalarEvolution *SE,
301 static bool isFPInductionPHI(PHINode *Phi, const Loop *L, ScalarEvolution *SE,
include/llvm/Analysis/IVUsers.h 99 ScalarEvolution *SE;
111 ScalarEvolution *SE);
include/llvm/Analysis/Loads.h 75 ScalarEvolution &SE,
include/llvm/Analysis/LoopAccessAnalysis.h 363 RuntimePointerChecking(ScalarEvolution *SE) : Need(false), SE(SE) {}
488 ScalarEvolution *SE;
518 LoopAccessInfo(Loop *L, ScalarEvolution *SE, const TargetLibraryInfo *TLI,
708 ScalarEvolution &SE,
714 ScalarEvolution &SE, bool CheckType = true);
753 ScalarEvolution *SE;
include/llvm/Analysis/LoopAnalysisManager.h 58 ScalarEvolution &SE;
include/llvm/Analysis/LoopCacheAnalysis.h 50 ScalarEvolution &SE);
139 ScalarEvolution &SE;
185 CacheCost(const LoopVectorTy &Loops, const LoopInfo &LI, ScalarEvolution &SE,
259 ScalarEvolution &SE;
include/llvm/Analysis/LoopInfo.h 623 ScalarEvolution &SE);
684 ScalarEvolution &SE)
703 ScalarEvolution &SE;
708 Optional<LoopBounds> getBounds(ScalarEvolution &SE) const;
717 PHINode *getInductionVariable(ScalarEvolution &SE) const;
721 bool getInductionDescriptor(ScalarEvolution &SE,
732 ScalarEvolution &SE) const;
761 bool isCanonical(ScalarEvolution &SE) const;
include/llvm/Analysis/LoopUnrollAnalyzer.h 50 ScalarEvolution &SE, const Loop *L)
81 ScalarEvolution &SE;
include/llvm/Analysis/ScalarEvolution.h 365 getImpliedFlags(const SCEVAddRecExpr *AR, ScalarEvolution &SE);
476 ScalarEvolution(ScalarEvolution &&Arg);
1094 ScalarEvolution *SE;
1100 SCEVCallbackVH(Value *V, ScalarEvolution *SE = nullptr);
1329 const SCEV *getExact(const Loop *L, ScalarEvolution *SE,
1336 const SCEV *getExact(BasicBlock *ExitingBlock, ScalarEvolution *SE) const;
1339 const SCEV *getMax(ScalarEvolution *SE) const;
1342 const SCEV *getMax(BasicBlock *ExitingBlock, ScalarEvolution *SE) const;
1346 bool isMaxOrZero(ScalarEvolution *SE) const;
1350 bool hasOperand(const SCEV *S, ScalarEvolution *SE) const;
1920 using Result = ScalarEvolution;
1922 ScalarEvolution run(Function &F, FunctionAnalysisManager &AM);
1937 std::unique_ptr<ScalarEvolution> SE;
1944 ScalarEvolution &getSE() { return *SE; }
1945 const ScalarEvolution &getSE() const { return *SE; }
1969 PredicatedScalarEvolution(ScalarEvolution &SE, Loop &L);
1999 ScalarEvolution *getSE() const { return &SE; }
2033 ScalarEvolution &SE;
include/llvm/Analysis/ScalarEvolutionAliasAnalysis.h 27 ScalarEvolution &SE;
30 explicit SCEVAAResult(ScalarEvolution &SE) : AAResultBase(), SE(SE) {}
include/llvm/Analysis/ScalarEvolutionExpander.h 31 bool isSafeToExpand(const SCEV *S, ScalarEvolution &SE);
37 ScalarEvolution &SE);
46 ScalarEvolution &SE;
145 explicit SCEVExpander(ScalarEvolution &se, const DataLayout &DL,
318 Optional<ScalarEvolution::ValueOffsetPair>
354 ScalarEvolution::ValueOffsetPair
include/llvm/Analysis/ScalarEvolutionExpressions.h 313 const SCEV *getStepRecurrence(ScalarEvolution &SE) const {
340 Flags = ScalarEvolution::setFlags(Flags, FlagNW);
346 const SCEV *evaluateAtIteration(const SCEV *It, ScalarEvolution &SE) const;
355 ScalarEvolution &SE) const;
359 const SCEVAddRecExpr *getPostIncExpr(ScalarEvolution &SE) const;
472 ScalarEvolution *SE;
479 ScalarEvolution *se, SCEVUnknown *next) :
651 ScalarEvolution &SE;
660 SCEVRewriteVisitor(ScalarEvolution &SE) : SE(SE) {}
791 static const SCEV *rewrite(const SCEV *Scev, ScalarEvolution &SE,
798 SCEVParameterRewriter(ScalarEvolution &SE, ValueToValueMap &M, bool C)
824 SCEVLoopAddRecRewriter(ScalarEvolution &SE, LoopToScevMapT &M)
828 ScalarEvolution &SE) {
include/llvm/Analysis/ScalarEvolutionNormalization.h 55 ScalarEvolution &SE);
60 ScalarEvolution &SE);
65 ScalarEvolution &SE);
include/llvm/Analysis/TargetTransformInfo.h 100 bool isHardwareLoopCandidate(ScalarEvolution &SE, LoopInfo &LI,
507 void getUnrollingPreferences(Loop *L, ScalarEvolution &,
512 bool isHardwareLoopProfitable(Loop *L, ScalarEvolution &SE,
565 bool canSaveCmp(Loop *L, BranchInst **BI, ScalarEvolution *SE, LoopInfo *LI,
1013 int getAddressComputationCost(Type *Ty, ScalarEvolution *SE = nullptr,
1192 virtual void getUnrollingPreferences(Loop *L, ScalarEvolution &,
1194 virtual bool isHardwareLoopProfitable(Loop *L, ScalarEvolution &SE,
1208 virtual bool canSaveCmp(Loop *L, BranchInst **BI, ScalarEvolution *SE,
1336 virtual int getAddressComputationCost(Type *Ty, ScalarEvolution *SE,
1458 void getUnrollingPreferences(Loop *L, ScalarEvolution &SE,
1462 bool isHardwareLoopProfitable(Loop *L, ScalarEvolution &SE,
1489 ScalarEvolution *SE,
1761 int getAddressComputationCost(Type *Ty, ScalarEvolution *SE,
include/llvm/Analysis/TargetTransformInfoImpl.h 205 bool isHardwareLoopProfitable(Loop *L, ScalarEvolution &SE,
212 void getUnrollingPreferences(Loop *, ScalarEvolution &,
236 bool canSaveCmp(Loop *L, BranchInst **BI, ScalarEvolution *SE, LoopInfo *LI,
491 unsigned getAddressComputationCost(Type *Tp, ScalarEvolution *,
665 const SCEVConstant *getConstantStrideStep(ScalarEvolution *SE,
673 bool isConstantStridedAccessLessThan(ScalarEvolution *SE, const SCEV *Ptr,
include/llvm/Analysis/VectorUtils.h 172 Value *stripGetElementPtr(Value *Ptr, ScalarEvolution *SE, Loop *Lp);
179 Value *getStrideFromPointer(Value *Ptr, ScalarEvolution *SE, Loop *Lp);
include/llvm/CodeGen/BasicTTIImpl.h 439 void getUnrollingPreferences(Loop *L, ScalarEvolution &SE,
504 bool isHardwareLoopProfitable(Loop *L, ScalarEvolution &SE,
1555 unsigned getAddressComputationCost(Type *Ty, ScalarEvolution *,
include/llvm/IR/PassManagerInternal.h 137 template <typename T> struct Checker : CheckerBase, T {};
147 enum { Value = sizeof(check<ResultT>(rank<2>())) == sizeof(EnabledType) };
208 explicit AnalysisResultModel(ResultT Result) : Result(std::move(Result)) {}
231 ResultT Result;
include/llvm/Transforms/Scalar/AlignmentFromAssumptions.h 32 bool runImpl(Function &F, AssumptionCache &AC, ScalarEvolution *SE_,
35 ScalarEvolution *SE = nullptr;
include/llvm/Transforms/Scalar/NaryReassociate.h 108 ScalarEvolution *SE_, TargetLibraryInfo *TLI_,
170 ScalarEvolution *SE;
include/llvm/Transforms/Utils/LoopRotationUtils.h 34 AssumptionCache *AC, DominatorTree *DT, ScalarEvolution *SE,
include/llvm/Transforms/Utils/LoopSimplify.h 62 bool simplifyLoop(Loop *L, DominatorTree *DT, LoopInfo *LI, ScalarEvolution *SE,
include/llvm/Transforms/Utils/LoopUtils.h 90 bool formLCSSA(Loop &L, DominatorTree &DT, LoopInfo *LI, ScalarEvolution *SE);
102 ScalarEvolution *SE);
149 void deleteDeadLoop(Loop *L, DominatorTree *DT, ScalarEvolution *SE,
271 bool hasIterationCountInvariantInParent(Loop *L, ScalarEvolution &SE);
344 bool isKnownNegativeInLoop(const SCEV *S, const Loop *L, ScalarEvolution &SE);
349 ScalarEvolution &SE);
352 bool cannotBeMaxInLoop(const SCEV *S, const Loop *L, ScalarEvolution &SE,
356 bool cannotBeMinInLoop(const SCEV *S, const Loop *L, ScalarEvolution &SE,
include/llvm/Transforms/Utils/LoopVersioning.h 42 DominatorTree *DT, ScalarEvolution *SE,
147 ScalarEvolution *SE;
include/llvm/Transforms/Utils/SimplifyIndVar.h 48 bool simplifyUsersOfIV(PHINode *CurrIV, ScalarEvolution *SE, DominatorTree *DT,
54 bool simplifyLoopIVs(Loop *L, ScalarEvolution *SE, DominatorTree *DT,
include/llvm/Transforms/Utils/UnrollLoop.h 82 ScalarEvolution *SE, DominatorTree *DT,
90 ScalarEvolution *SE, DominatorTree *DT,
96 unsigned &TripCount, ScalarEvolution &SE);
100 bool peelLoop(Loop *L, unsigned PeelCount, LoopInfo *LI, ScalarEvolution *SE,
105 LoopInfo *LI, ScalarEvolution *SE,
110 bool isSafeToUnrollAndJam(Loop *L, ScalarEvolution &SE, DominatorTree &DT,
114 DominatorTree &DT, LoopInfo *LI, ScalarEvolution &SE,
125 ScalarEvolution *SE, DominatorTree *DT,
131 Loop *L, ScalarEvolution &SE, const TargetTransformInfo &TTI,
include/llvm/Transforms/Vectorize/LoopVectorize.h 132 ScalarEvolution *SE;
148 bool runImpl(Function &F, ScalarEvolution &SE_, LoopInfo &LI_,
include/llvm/Transforms/Vectorize/SLPVectorizer.h 65 ScalarEvolution *SE = nullptr;
79 bool runImpl(Function &F, ScalarEvolution *SE_, TargetTransformInfo *TTI_,
lib/Analysis/Delinearization.cpp 43 ScalarEvolution *SE;
lib/Analysis/DependenceAnalysis.cpp 127 auto &SE = FAM.getResult<ScalarEvolutionAnalysis>(F);
150 auto &SE = getAnalysis<ScalarEvolutionWrapperPass>().getSE();
397 void DependenceInfo::Constraint::setAny(ScalarEvolution *NewSE) {
lib/Analysis/IVDescriptors.cpp 828 ScalarEvolution *SE,
1030 PHINode *Phi, const Loop *TheLoop, ScalarEvolution *SE,
lib/Analysis/IVUsers.cpp 60 ScalarEvolution *SE, LoopInfo *LI) {
305 ScalarEvolution *SE)
370 auto *SE = &getAnalysis<ScalarEvolutionWrapperPass>().getSE();
lib/Analysis/Loads.cpp 198 ScalarEvolution &SE,
lib/Analysis/LoopAccessAnalysis.cpp 159 ScalarEvolution *SE = PSE.getSE();
195 ScalarEvolution *SE = PSE.getSE();
268 ScalarEvolution *SE) {
544 bool canCheckPtrAtRT(RuntimePointerChecking &RtCheck, ScalarEvolution *SE,
695 ScalarEvolution *SE, Loop *TheLoop,
1101 ScalarEvolution &SE,
1172 ScalarEvolution &SE, bool CheckType) {
1350 static bool isSafeDependenceDistance(const DataLayout &DL, ScalarEvolution &SE,
2037 auto *SE = PSE->getSE();
2108 auto *SE = PSE->getSE();
2146 Instruction *Loc, SCEVExpander &Exp, ScalarEvolution *SE,
2208 auto *SE = PSE->getSE();
2322 ScalarEvolution *SE = PSE->getSE();
2344 LoopAccessInfo::LoopAccessInfo(Loop *L, ScalarEvolution *SE,
lib/Analysis/LoopCacheAnalysis.cpp 75 const Loop &L, ScalarEvolution &SE) {
97 static const SCEV *computeTripCount(const Loop &L, ScalarEvolution &SE) {
129 const LoopInfo &LI, ScalarEvolution &SE)
lib/Analysis/LoopInfo.cpp 199 ScalarEvolution &SE) {
283 Optional<Loop::LoopBounds> Loop::getBounds(ScalarEvolution &SE) const {
290 PHINode *Loop::getInductionVariable(ScalarEvolution &SE) const {
328 bool Loop::getInductionDescriptor(ScalarEvolution &SE,
337 ScalarEvolution &SE) const {
401 bool Loop::isCanonical(ScalarEvolution &SE) const {
lib/Analysis/ScalarEvolution.cpp 885 static void divide(ScalarEvolution &SE, const SCEV *Numerator,
1086 SCEVDivision(ScalarEvolution &S, const SCEV *Numerator,
1105 ScalarEvolution &SE;
1117 ScalarEvolution &SE,
1235 ScalarEvolution &SE) const {
1347 ScalarEvolution *SE) {
1367 ScalarEvolution *SE) {
1403 ScalarEvolution *SE) {
1409 SCEVSignExtendExpr>::GetExtendExpr = &ScalarEvolution::getSignExtendExpr;
1419 ScalarEvolution *SE) {
1425 SCEVZeroExtendExpr>::GetExtendExpr = &ScalarEvolution::getZeroExtendExpr;
1438 ScalarEvolution *SE, unsigned Depth) {
1467 ScalarEvolution::maskFlags(SA->getNoWrapFlags(), SCEV::FlagNUW);
1512 ScalarEvolution *SE,
1605 static APInt extractConstantWithoutWrapping(ScalarEvolution &SE,
1626 static APInt extractConstantWithoutWrapping(ScalarEvolution &SE,
2273 ScalarEvolution &SE) {
2337 StrengthenNoWrapFlags(ScalarEvolution *SE, SCEVTypes Type,
2351 ScalarEvolution::maskFlags(Flags, SignOrUnsignMask);
2360 ScalarEvolution::setFlags(Flags, (SCEV::NoWrapFlags)SignOrUnsignMask);
2362 SignOrUnsignWrap = ScalarEvolution::maskFlags(Flags, SignOrUnsignMask);
2386 Flags = ScalarEvolution::setFlags(Flags, SCEV::FlagNSW);
2394 Flags = ScalarEvolution::setFlags(Flags, SCEV::FlagNUW);
3841 SetVector<ScalarEvolution::ValueOffsetPair> *
4239 static const SCEV *rewrite(const SCEV *S, const Loop *L, ScalarEvolution &SE,
4269 explicit SCEVInitRewriter(const Loop *L, ScalarEvolution &SE)
4283 static const SCEV *rewrite(const SCEV *S, const Loop *L, ScalarEvolution &SE) {
4310 explicit SCEVPostIncRewriter(const Loop *L, ScalarEvolution &SE)
4325 ScalarEvolution &SE) {
4373 bool IsPosBECond, ScalarEvolution &SE)
4401 ScalarEvolution &SE) {
4424 explicit SCEVShiftRewriter(const Loop *L, ScalarEvolution &SE)
4449 Result = ScalarEvolution::setFlags(Result, SCEV::FlagNSW);
4459 Result = ScalarEvolution::setFlags(Result, SCEV::FlagNUW);
4586 bool &Signed, ScalarEvolution &SE) {
5538 ScalarEvolution::RangeSignHint SignHint) {
5540 SignHint == ScalarEvolution::HINT_RANGE_UNSIGNED ? UnsignedRanges
5543 SignHint == ScalarEvolution::HINT_RANGE_UNSIGNED
5561 if (SignHint == ScalarEvolution::HINT_RANGE_UNSIGNED)
5710 if (SignHint == ScalarEvolution::HINT_RANGE_UNSIGNED) {
5863 explicit SelectPattern(ScalarEvolution &SE, unsigned BitWidth,
5973 Flags = ScalarEvolution::setFlags(Flags, SCEV::FlagNUW);
5975 Flags = ScalarEvolution::setFlags(Flags, SCEV::FlagNSW);
6100 ScalarEvolution::LoopProperties
6102 using LoopProperties = ScalarEvolution::LoopProperties;
6645 const ScalarEvolution::BackedgeTakenInfo &
6662 const ScalarEvolution::BackedgeTakenInfo &
6893 ScalarEvolution::BackedgeTakenInfo::getExact(const Loop *L, ScalarEvolution *SE,
6929 ScalarEvolution *SE) const {
6939 ScalarEvolution *SE) const {
6949 ScalarEvolution::BackedgeTakenInfo::getMax(ScalarEvolution *SE) const {
6962 bool ScalarEvolution::BackedgeTakenInfo::isMaxOrZero(ScalarEvolution *SE) const {
6970 ScalarEvolution *SE) const {
7025 ArrayRef<ScalarEvolution::BackedgeTakenInfo::EdgeExitInfo>
7029 using EdgeExitInfo = ScalarEvolution::BackedgeTakenInfo::EdgeExitInfo;
7058 ScalarEvolution::BackedgeTakenInfo
7064 using EdgeExitInfo = ScalarEvolution::BackedgeTakenInfo::EdgeExitInfo;
7129 ScalarEvolution::ExitLimit
7169 ScalarEvolution::ExitLimit ScalarEvolution::computeExitLimitFromCond(
7172 ScalarEvolution::ExitLimitCacheTy Cache(L, ExitIfTrue, AllowPredicates);
7177 Optional<ScalarEvolution::ExitLimit>
7209 ScalarEvolution::ExitLimit ScalarEvolution::computeExitLimitFromCondCached(
7223 ScalarEvolution::ExitLimit ScalarEvolution::computeExitLimitFromCondImpl(
7355 ScalarEvolution::ExitLimit
7454 ScalarEvolution::ExitLimit
7480 ScalarEvolution &SE) {
7490 ScalarEvolution::ExitLimit
7566 ScalarEvolution::ExitLimit ScalarEvolution::computeShiftCompareExitLimit(
8394 ScalarEvolution &SE) {
8542 SolveQuadraticAddRecExact(const SCEVAddRecExpr *AddRec, ScalarEvolution &SE) {
8575 const ConstantRange &Range, ScalarEvolution &SE) {
8701 ScalarEvolution::ExitLimit
8830 ScalarEvolution::ExitLimit
10143 static bool IsKnownPredicateViaAddRecStart(ScalarEvolution &SE,
10177 static bool IsKnownPredicateViaMinOrMax(ScalarEvolution &SE,
10581 ScalarEvolution::ExitLimit
10722 ScalarEvolution::ExitLimit
10797 ScalarEvolution &SE) const {
10868 SCEVAddRecExpr::getPostIncExpr(ScalarEvolution &SE) const {
10905 ScalarEvolution &SE;
10908 SCEVCollectStrides(ScalarEvolution &SE, SmallVectorImpl<const SCEV *> &S)
10980 ScalarEvolution &SE;
10982 SCEVCollectAddRecMultiplies(SmallVectorImpl<const SCEV *> &T, ScalarEvolution &SE)
11053 static bool findArrayDimensionsRec(ScalarEvolution &SE,
11114 static const SCEV *removeConstantFactors(ScalarEvolution &SE, const SCEV *T) {
11393 ScalarEvolution::SCEVCallbackVH::SCEVCallbackVH(Value *V, ScalarEvolution *se)
11421 ScalarEvolution::ScalarEvolution(ScalarEvolution &&Arg)
11481 static void PrintLoopInfo(raw_ostream &OS, ScalarEvolution *SE,
11543 static StringRef loopDispositionToStr(ScalarEvolution::LoopDisposition LD) {
11545 case ScalarEvolution::LoopVariant:
11547 case ScalarEvolution::LoopInvariant:
11549 case ScalarEvolution::LoopComputable:
11562 ScalarEvolution &SE = *const_cast<ScalarEvolution *>(this);
11643 ScalarEvolution::LoopDisposition
11662 ScalarEvolution::LoopDisposition
11750 ScalarEvolution::BlockDisposition
11769 ScalarEvolution::BlockDisposition
11919 ScalarEvolution &SE = *const_cast<ScalarEvolution *>(this);
11920 ScalarEvolution SE2(F, TLI, AC, DT, LI);
11926 SCEVMapper(ScalarEvolution &SE) : SCEVRewriteVisitor<SCEVMapper>(SE) {}
12005 ScalarEvolution ScalarEvolutionAnalysis::run(Function &F,
12035 SE.reset(new ScalarEvolution(
12112 static const SCEV *rewrite(const SCEV *S, const Loop *L, ScalarEvolution &SE,
12163 explicit SCEVPredicateRewriter(const Loop *L, ScalarEvolution &SE,
12285 if (ScalarEvolution::setFlags(ScevFlags, SCEV::FlagNSW) == ScevFlags)
12302 ScalarEvolution &SE) {
12307 if (ScalarEvolution::setFlags(StaticFlags, SCEV::FlagNSW) == StaticFlags)
12310 if (ScalarEvolution::setFlags(StaticFlags, SCEV::FlagNUW) == StaticFlags) {
12377 PredicatedScalarEvolution::PredicatedScalarEvolution(ScalarEvolution &SE,
lib/Analysis/ScalarEvolutionExpander.cpp 244 const SCEV *Factor, ScalarEvolution &SE,
318 ScalarEvolution &SE) {
347 ScalarEvolution &SE) {
841 NWFlags = ScalarEvolution::clearFlags(NWFlags, SCEV::FlagNSW);
876 ScalarEvolution &SE) {
1096 static bool canBeCheaplyTransformed(ScalarEvolution &SE,
1127 static bool IsIncrementNSW(ScalarEvolution &SE, const SCEVAddRecExpr *AR) {
1141 static bool IsIncrementNUW(ScalarEvolution &SE, const SCEVAddRecExpr *AR) {
1778 ScalarEvolution::ValueOffsetPair
1781 SetVector<ScalarEvolution::ValueOffsetPair> *Set = SE.getSCEVValues(S);
1876 ScalarEvolution::ValueOffsetPair VO = FindValueInExprValueMap(S, InsertPt);
2086 Optional<ScalarEvolution::ValueOffsetPair> VO =
2093 Optional<ScalarEvolution::ValueOffsetPair>
2120 ScalarEvolution::ValueOffsetPair VO = FindValueInExprValueMap(S, At);
2397 ScalarEvolution &SE;
2400 SCEVFindUnsafe(ScalarEvolution &se): SE(se), IsUnsafe(false) {}
2424 bool isSafeToExpand(const SCEV *S, ScalarEvolution &SE) {
2431 ScalarEvolution &SE) {
lib/Analysis/ScalarEvolutionNormalization.cpp 39 ScalarEvolution &SE)
98 ScalarEvolution &SE) {
106 ScalarEvolution &SE) {
112 ScalarEvolution &SE) {
lib/Analysis/StackSafetyAnalysis.cpp 33 AllocaOffsetRewriter(ScalarEvolution &SE, const Value *AllocaPtr)
205 ScalarEvolution &SE;
223 StackSafetyLocalAnalysis(const Function &F, ScalarEvolution &SE)
lib/Analysis/TargetTransformInfo.cpp 56 bool HardwareLoopInfo::isHardwareLoopCandidate(ScalarEvolution &SE,
240 Loop *L, ScalarEvolution &SE, AssumptionCache &AC,
246 Loop *L, ScalarEvolution &SE, UnrollingPreferences &UP) const {
277 ScalarEvolution *SE, LoopInfo *LI,
710 ScalarEvolution *SE,
lib/Analysis/VectorUtils.cpp 152 Value *llvm::stripGetElementPtr(Value *Ptr, ScalarEvolution *SE, Loop *Lp) {
185 Value *llvm::getStrideFromPointer(Value *Ptr, ScalarEvolution *SE, Loop *Lp) {
lib/CodeGen/HardwareLoops.cpp 110 ScalarEvolution *SE = nullptr;
145 HardwareLoop(HardwareLoopInfo &Info, ScalarEvolution &SE,
158 ScalarEvolution &SE;
lib/CodeGen/SafeStack.cpp 109 AllocaOffsetRewriter(ScalarEvolution &SE, const Value *AllocaPtr)
128 ScalarEvolution &SE;
207 ScalarEvolution &SE)
886 ScalarEvolution SE(F, TLI, ACT, DT, LI);
lib/Target/AArch64/AArch64FalkorHWPFFix.cpp 70 FalkorMarkStridedAccesses(LoopInfo &LI, ScalarEvolution &SE)
79 ScalarEvolution &SE;
130 ScalarEvolution &SE = getAnalysis<ScalarEvolutionWrapperPass>().getSE();
lib/Target/AArch64/AArch64TargetTransformInfo.cpp 572 int AArch64TTIImpl::getAddressComputationCost(Type *Ty, ScalarEvolution *SE,
721 getFalkorUnrollingPreferences(Loop *L, ScalarEvolution &SE,
768 void AArch64TTIImpl::getUnrollingPreferences(Loop *L, ScalarEvolution &SE,
lib/Target/AArch64/AArch64TargetTransformInfo.h 129 int getAddressComputationCost(Type *Ty, ScalarEvolution *SE, const SCEV *Ptr);
142 void getUnrollingPreferences(Loop *L, ScalarEvolution &SE,
lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp 91 void AMDGPUTTIImpl::getUnrollingPreferences(Loop *L, ScalarEvolution &SE,
691 void GCNTTIImpl::getUnrollingPreferences(Loop *L, ScalarEvolution &SE,
827 void R600TTIImpl::getUnrollingPreferences(Loop *L, ScalarEvolution &SE,
lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h 62 void getUnrollingPreferences(Loop *L, ScalarEvolution &SE,
138 void getUnrollingPreferences(Loop *L, ScalarEvolution &SE,
240 void getUnrollingPreferences(Loop *L, ScalarEvolution &SE,
lib/Target/ARM/ARMParallelDSP.cpp 212 ScalarEvolution *SE;
303 const DataLayout &DL, ScalarEvolution &SE) {
lib/Target/ARM/ARMTargetTransformInfo.cpp 473 int ARMTTIImpl::getAddressComputationCost(Type *Ty, ScalarEvolution *SE,
848 bool ARMTTIImpl::isHardwareLoopProfitable(Loop *L, ScalarEvolution &SE,
1003 void ARMTTIImpl::getUnrollingPreferences(Loop *L, ScalarEvolution &SE,
lib/Target/ARM/ARMTargetTransformInfo.h 181 int getAddressComputationCost(Type *Val, ScalarEvolution *SE,
202 bool isHardwareLoopProfitable(Loop *L, ScalarEvolution &SE,
207 void getUnrollingPreferences(Loop *L, ScalarEvolution &SE,
lib/Target/ARM/MVETailPredication.cpp 53 ScalarEvolution *SE = nullptr;
lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp 158 ScalarEvolution *SE;
560 ScalarEvolution &se)
618 ScalarEvolution &SE;
lib/Target/Hexagon/HexagonTargetTransformInfo.cpp 78 void HexagonTTIImpl::getUnrollingPreferences(Loop *L, ScalarEvolution &SE,
150 ScalarEvolution *SE, const SCEV *S) {
lib/Target/Hexagon/HexagonTargetTransformInfo.h 64 void getUnrollingPreferences(Loop *L, ScalarEvolution &SE,
113 unsigned getAddressComputationCost(Type *Tp, ScalarEvolution *SE,
lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp 142 void NVPTXTTIImpl::getUnrollingPreferences(Loop *L, ScalarEvolution &SE,
lib/Target/NVPTX/NVPTXTargetTransformInfo.h 96 void getUnrollingPreferences(Loop *L, ScalarEvolution &SE,
lib/Target/PowerPC/PPCLoopPreIncPrep.cpp 111 ScalarEvolution *SE;
lib/Target/PowerPC/PPCTargetTransformInfo.cpp 496 bool PPCTTIImpl::isHardwareLoopProfitable(Loop *L, ScalarEvolution &SE,
555 void PPCTTIImpl::getUnrollingPreferences(Loop *L, ScalarEvolution &SE,
941 bool PPCTTIImpl::canSaveCmp(Loop *L, BranchInst **BI, ScalarEvolution *SE,
lib/Target/PowerPC/PPCTargetTransformInfo.h 56 bool isHardwareLoopProfitable(Loop *L, ScalarEvolution &SE,
60 bool canSaveCmp(Loop *L, BranchInst **BI, ScalarEvolution *SE, LoopInfo *LI,
63 void getUnrollingPreferences(Loop *L, ScalarEvolution &SE,
lib/Target/SystemZ/SystemZTargetTransformInfo.cpp 240 void SystemZTTIImpl::getUnrollingPreferences(Loop *L, ScalarEvolution &SE,
lib/Target/SystemZ/SystemZTargetTransformInfo.h 49 void getUnrollingPreferences(Loop *L, ScalarEvolution &SE,
lib/Target/X86/X86TargetTransformInfo.cpp 2507 int X86TTIImpl::getAddressComputationCost(Type *Ty, ScalarEvolution *SE,
lib/Target/X86/X86TargetTransformInfo.h 143 int getAddressComputationCost(Type *PtrTy, ScalarEvolution *SE,
lib/Transforms/Instrumentation/BoundsChecking.cpp 59 BuilderTy &IRB, ScalarEvolution &SE) {
143 ScalarEvolution &SE) {
210 auto &SE = AM.getResult<ScalarEvolutionAnalysis>(F);
228 auto &SE = getAnalysis<ScalarEvolutionWrapperPass>().getSE();
lib/Transforms/Scalar/AlignmentFromAssumptions.cpp 94 ScalarEvolution *SE) {
127 ScalarEvolution *SE) {
378 ScalarEvolution *SE = &getAnalysis<ScalarEvolutionWrapperPass>().getSE();
385 ScalarEvolution *SE_,
402 ScalarEvolution &SE = AM.getResult<ScalarEvolutionAnalysis>(F);
lib/Transforms/Scalar/IndVarSimplify.cpp 137 ScalarEvolution *SE;
169 IndVarSimplify(LoopInfo *LI, ScalarEvolution *SE, DominatorTree *DT,
894 static void visitIVCast(CastInst *Cast, WideIVInfo &WI, ScalarEvolution *SE,
973 ScalarEvolution *SE;
1027 WidenIV(const WideIVInfo &WI, LoopInfo *LInfo, ScalarEvolution *SEv,
1937 ScalarEvolution *SE;
1944 IndVarSimplifyVisitor(PHINode *IV, ScalarEvolution *SCEV,
2220 ScalarEvolution *SE) {
2249 ScalarEvolution *SE, DominatorTree *DT) {
2333 SCEVExpander &Rewriter, ScalarEvolution *SE) {
2656 static const SCEV* getMaxBackedgeTakenCount(ScalarEvolution &SE,
2669 ScalarEvolution::ConstantMaximum);
3168 auto *SE = &getAnalysis<ScalarEvolutionWrapperPass>().getSE();
lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp 147 static bool parseRangeCheckICmp(Loop *L, ICmpInst *ICI, ScalarEvolution &SE,
152 extractRangeChecksFromCond(Loop *L, ScalarEvolution &SE, Use &ConditionUse,
197 bool isEmpty(ScalarEvolution &SE, bool IsSigned) const {
214 Optional<Range> computeSafeIterationSpace(ScalarEvolution &SE,
224 extractRangeChecksFromBranch(BranchInst *BI, Loop *L, ScalarEvolution &SE,
230 ScalarEvolution &SE;
236 InductiveRangeCheckElimination(ScalarEvolution &SE,
277 ScalarEvolution &SE, Value *&Index,
336 Loop *L, ScalarEvolution &SE, Use &ConditionUse,
392 BranchInst *BI, Loop *L, ScalarEvolution &SE, BranchProbabilityInfo *BPI,
490 static Optional<LoopStructure> parseLoopStructure(ScalarEvolution &,
603 ScalarEvolution &SE;
628 const LoopStructure &LS, ScalarEvolution &SE,
646 Loop *L, ScalarEvolution &SE) {
696 Loop *L, ScalarEvolution &SE) {
736 LoopStructure::parseLoopStructure(ScalarEvolution &SE,
1041 static const SCEV *NoopOrExtend(const SCEV *S, Type *Ty, ScalarEvolution &SE,
1567 ScalarEvolution &SE, const SCEVAddRecExpr *IndVar,
1692 IntersectSignedRange(ScalarEvolution &SE,
1721 IntersectUnsignedRange(ScalarEvolution &SE,
1772 ScalarEvolution &SE = getAnalysis<ScalarEvolutionWrapperPass>().getSE();
lib/Transforms/Scalar/LICM.cpp 172 ScalarEvolution *SE, MemorySSA *MSSA,
328 TargetLibraryInfo *TLI, TargetTransformInfo *TTI, ScalarEvolution *SE,
lib/Transforms/Scalar/LoopDataPrefetch.cpp 63 LoopDataPrefetch(AssumptionCache *AC, LoopInfo *LI, ScalarEvolution *SE,
97 ScalarEvolution *SE;
159 ScalarEvolution *SE = &AM.getResult<ScalarEvolutionAnalysis>(F);
183 ScalarEvolution *SE = &getAnalysis<ScalarEvolutionWrapperPass>().getSE();
lib/Transforms/Scalar/LoopDeletion.cpp 42 static bool isLoopDead(Loop *L, ScalarEvolution &SE,
136 ScalarEvolution &SE, LoopInfo &LI) {
255 ScalarEvolution &SE = getAnalysis<ScalarEvolutionWrapperPass>().getSE();
lib/Transforms/Scalar/LoopDistribute.cpp 659 ScalarEvolution *SE, OptimizationRemarkEmitter *ORE)
959 ScalarEvolution *SE;
975 ScalarEvolution *SE, OptimizationRemarkEmitter *ORE,
1022 auto *SE = &getAnalysis<ScalarEvolutionWrapperPass>().getSE();
1048 auto &SE = AM.getResult<ScalarEvolutionAnalysis>(F);
lib/Transforms/Scalar/LoopFuse.cpp 287 bool isEligibleForFusion(ScalarEvolution &SE) const {
509 ScalarEvolution &SE;
515 ScalarEvolution &SE, PostDominatorTree &PDT,
841 AddRecLoopReplacer(ScalarEvolution &SE, const Loop &OldL, const Loop &NewL,
1590 auto &SE = getAnalysis<ScalarEvolutionWrapperPass>().getSE();
1605 auto &SE = AM.getResult<ScalarEvolutionAnalysis>(F);
lib/Transforms/Scalar/LoopIdiomRecognize.cpp 145 ScalarEvolution *SE;
155 LoopInfo *LI, ScalarEvolution *SE,
274 ScalarEvolution *SE = &getAnalysis<ScalarEvolutionWrapperPass>().getSE();
895 ScalarEvolution *SE) {
909 const DataLayout *DL, ScalarEvolution *SE) {
lib/Transforms/Scalar/LoopInterchange.cpp 295 static PHINode *getInductionVariable(Loop *L, ScalarEvolution *SE) {
327 LoopInterchangeLegality(Loop *Outer, Loop *Inner, ScalarEvolution *SE,
360 ScalarEvolution *SE;
374 LoopInterchangeProfitability(Loop *Outer, Loop *Inner, ScalarEvolution *SE,
389 ScalarEvolution *SE;
398 LoopInterchangeTransform(Loop *Outer, Loop *Inner, ScalarEvolution *SE,
421 ScalarEvolution *SE;
433 ScalarEvolution *SE = nullptr;
lib/Transforms/Scalar/LoopLoadElimination.cpp 691 auto &SE = AM.getResult<ScalarEvolutionAnalysis>(F);
lib/Transforms/Scalar/LoopPredication.cpp 251 ScalarEvolution *SE;
304 LoopPredication(AliasAnalysis *AA, ScalarEvolution *SE,
325 auto *SE = &getAnalysis<ScalarEvolutionWrapperPass>().getSE();
426 ScalarEvolution &SE,
461 ScalarEvolution &SE,
648 static void normalizePredicate(ScalarEvolution *SE, Loop *L,
lib/Transforms/Scalar/LoopRerollPass.cpp 181 ScalarEvolution *SE;
379 ScalarEvolution *SE, AliasAnalysis *AA,
433 ScalarEvolution *SE;
lib/Transforms/Scalar/LoopRotation.cpp 98 auto &SE = getAnalysis<ScalarEvolutionWrapperPass>().getSE();
lib/Transforms/Scalar/LoopSimplifyCFG.cpp 120 ScalarEvolution &SE;
525 ScalarEvolution &SE,
624 ScalarEvolution &SE,
670 ScalarEvolution &SE, MemorySSAUpdater *MSSAU,
724 ScalarEvolution &SE = getAnalysis<ScalarEvolutionWrapperPass>().getSE();
lib/Transforms/Scalar/LoopSink.cpp 254 ScalarEvolution *SE) {
lib/Transforms/Scalar/LoopStrengthReduce.cpp 363 void initialMatch(const SCEV *S, Loop *L, ScalarEvolution &SE);
392 ScalarEvolution &SE) {
443 void Formula::initialMatch(const SCEV *S, Loop *L, ScalarEvolution &SE) {
630 static bool isAddRecSExtable(const SCEVAddRecExpr *AR, ScalarEvolution &SE) {
638 static bool isAddSExtable(const SCEVAddExpr *A, ScalarEvolution &SE) {
646 static bool isMulSExtable(const SCEVMulExpr *M, ScalarEvolution &SE) {
659 ScalarEvolution &SE,
745 static int64_t ExtractImmediate(const SCEV *&S, ScalarEvolution &SE) {
771 static GlobalValue *ExtractSymbol(const SCEV *&S, ScalarEvolution &SE) {
883 static bool isExistingPhi(const SCEVAddRecExpr *AR, ScalarEvolution &SE) {
905 ScalarEvolution &SE) {
1019 ScalarEvolution *SE = nullptr;
1025 Cost(const Loop *L, ScalarEvolution &SE, const TargetTransformInfo &TTI) :
1818 ScalarEvolution &SE, int64_t MinOffset,
1897 ScalarEvolution&);
1911 ScalarEvolution &SE;
2053 LSRInstance(Loop *L, IVUsers &IU, ScalarEvolution &SE, DominatorTree &DT,
2719 Loop *L, ScalarEvolution &SE) {
2805 ScalarEvolution &SE) {
2834 ScalarEvolution &SE) {
3488 ScalarEvolution &SE,
3545 ScalarEvolution &SE) {
5495 LSRInstance::LSRInstance(Loop *L, IVUsers &IU, ScalarEvolution &SE,
5706 static bool ReduceLoopStrength(Loop *L, IVUsers &IU, ScalarEvolution &SE,
5741 auto &SE = getAnalysis<ScalarEvolutionWrapperPass>().getSE();
lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp 155 LoopInfo *LI, ScalarEvolution &SE,
278 ScalarEvolution &SE, const TargetTransformInfo &TTI,
448 ScalarEvolution &SE = getAnalysis<ScalarEvolutionWrapperPass>().getSE();
lib/Transforms/Scalar/LoopUnrollPass.cpp 177 Loop *L, ScalarEvolution &SE, const TargetTransformInfo &TTI,
334 const Loop *L, unsigned TripCount, DominatorTree &DT, ScalarEvolution &SE,
738 ScalarEvolution &SE, const SmallPtrSetImpl<const Value *> &EphValues,
1012 Loop *L, DominatorTree &DT, LoopInfo *LI, ScalarEvolution &SE,
1227 ScalarEvolution &SE = getAnalysis<ScalarEvolutionWrapperPass>().getSE();
1411 auto &SE = AM.getResult<ScalarEvolutionAnalysis>(F);
lib/Transforms/Scalar/LoopVersioningLICM.cpp 170 ScalarEvolution *SE = nullptr;
lib/Transforms/Scalar/NaryReassociate.cpp 172 auto *SE = &getAnalysis<ScalarEvolutionWrapperPass>().getSE();
183 auto *SE = &AM.getResult<ScalarEvolutionAnalysis>(F);
197 DominatorTree *DT_, ScalarEvolution *SE_,
lib/Transforms/Scalar/PlaceSafepoints.cpp 112 ScalarEvolution *SE = nullptr;
240 static bool mustBeFiniteCountedLoop(Loop *L, ScalarEvolution *SE,
lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp 449 ScalarEvolution *SE;
lib/Transforms/Scalar/SimpleLoopUnswitch.cpp 350 LoopInfo &LI, ScalarEvolution *SE,
573 LoopInfo &LI, ScalarEvolution *SE,
852 LoopInfo &LI, ScalarEvolution *SE,
1905 ScalarEvolution *SE, MemorySSAUpdater *MSSAU) {
2527 ScalarEvolution *SE, MemorySSAUpdater *MSSAU) {
2805 ScalarEvolution *SE, MemorySSAUpdater *MSSAU) {
2943 auto *SE = SEWP ? &SEWP->getSE() : nullptr;
lib/Transforms/Scalar/StraightLineStrengthReduce.cpp 233 ScalarEvolution *SE;
lib/Transforms/Utils/LCSSA.cpp 321 ScalarEvolution *SE) {
386 ScalarEvolution *SE) {
399 ScalarEvolution *SE) {
416 ScalarEvolution *SE;
482 auto *SE = AM.getCachedResult<ScalarEvolutionAnalysis>(F);
lib/Transforms/Utils/LoopRotationUtils.cpp 57 ScalarEvolution *SE;
66 DominatorTree *DT, ScalarEvolution *SE, MemorySSAUpdater *MSSAU,
657 ScalarEvolution *SE, MemorySSAUpdater *MSSAU,
lib/Transforms/Utils/LoopSimplify.cpp 226 ScalarEvolution *SE, bool PreserveLCSSA,
473 ScalarEvolution *SE, AssumptionCache *AC,
710 ScalarEvolution *SE, AssumptionCache *AC,
802 ScalarEvolution *SE = SEWP ? &SEWP->getSE() : nullptr;
836 ScalarEvolution *SE = AM.getCachedResult<ScalarEvolutionAnalysis>(F);
lib/Transforms/Utils/LoopUnroll.cpp 200 ScalarEvolution *SE, DominatorTree *DT,
277 ScalarEvolution *SE, DominatorTree *DT,
lib/Transforms/Utils/LoopUnrollAndJam.cpp 175 bool UnrollRemainder, LoopInfo *LI, ScalarEvolution *SE, DominatorTree *DT,
687 bool llvm::isSafeToUnrollAndJam(Loop *L, ScalarEvolution &SE, DominatorTree &DT,
lib/Transforms/Utils/LoopUnrollPeel.cpp 173 ScalarEvolution &SE) {
261 unsigned &TripCount, ScalarEvolution &SE) {
579 ScalarEvolution *SE, DominatorTree *DT,
lib/Transforms/Utils/LoopUnrollRuntime.cpp 549 LoopInfo *LI, ScalarEvolution *SE,
lib/Transforms/Utils/LoopUtils.cpp 507 ScalarEvolution *SE = nullptr,
721 ScalarEvolution &SE) {
734 ScalarEvolution::LoopDisposition LD =
736 if (LD != ScalarEvolution::LoopInvariant)
999 ScalarEvolution &SE) {
1006 ScalarEvolution &SE) {
1012 bool llvm::cannotBeMinInLoop(const SCEV *S, const Loop *L, ScalarEvolution &SE,
1023 bool llvm::cannotBeMaxInLoop(const SCEV *S, const Loop *L, ScalarEvolution &SE,
lib/Transforms/Utils/LoopVersioning.cpp 33 DominatorTree *DT, ScalarEvolution *SE,
266 auto *SE = &getAnalysis<ScalarEvolutionWrapperPass>().getSE();
lib/Transforms/Utils/SimplifyIndVar.cpp 55 ScalarEvolution *SE;
63 SimplifyIndvar(Loop *Loop, ScalarEvolution *SE, DominatorTree *DT,
405 static bool willNotOverflow(ScalarEvolution *SE, Instruction::BinaryOps BinOp,
413 Operation = &ScalarEvolution::getAddExpr;
416 Operation = &ScalarEvolution::getMinusSCEV;
419 Operation = &ScalarEvolution::getMulExpr;
424 Signed ? &ScalarEvolution::getSignExtendExpr
425 : &ScalarEvolution::getZeroExtendExpr;
825 static bool isSimpleIVUser(Instruction *I, const Loop *L, ScalarEvolution *SE) {
933 bool simplifyUsersOfIV(PHINode *CurrIV, ScalarEvolution *SE, DominatorTree *DT,
944 bool simplifyLoopIVs(Loop *L, ScalarEvolution *SE, DominatorTree *DT,
lib/Transforms/Vectorize/LoadStoreVectorizer.cpp 115 ScalarEvolution &SE;
122 ScalarEvolution &SE, TargetTransformInfo &TTI)
256 ScalarEvolution &SE = getAnalysis<ScalarEvolutionWrapperPass>().getSE();
271 ScalarEvolution &SE = AM.getResult<ScalarEvolutionAnalysis>(F);
lib/Transforms/Vectorize/LoopVectorizationLegality.cpp 704 auto *SE = PSE.getSE();
954 ScalarEvolution &SE = *PSE.getSE();
lib/Transforms/Vectorize/LoopVectorize.cpp 365 static Optional<unsigned> getSmallBestKnownTC(ScalarEvolution &SE, Loop *L) {
639 Value *emitTransformedIndex(IRBuilder<> &B, Value *Index, ScalarEvolution *SE,
1600 auto *SE = &getAnalysis<ScalarEvolutionWrapperPass>().getSE();
2561 ScalarEvolution *SE = PSE.getSE();
2796 IRBuilder<> &B, Value *Index, ScalarEvolution *SE, const DataLayout &DL,
4179 auto *SE = PSE.getSE();
7802 Function &F, ScalarEvolution &SE_, LoopInfo &LI_, TargetTransformInfo &TTI_,
7869 auto &SE = AM.getResult<ScalarEvolutionAnalysis>(F);
lib/Transforms/Vectorize/SLPVectorizer.cpp 502 BoUpSLP(Function *Func, ScalarEvolution *Se, TargetTransformInfo *Tti,
723 ScalarEvolution &SE;
962 ScalarEvolution &SE)
1192 ScalarEvolution &SE);
1953 ScalarEvolution *SE;
3544 ScalarEvolution &SE) {
5208 auto *SE = &getAnalysis<ScalarEvolutionWrapperPass>().getSE();
5243 auto *SE = &AM.getResult<ScalarEvolutionAnalysis>(F);
5264 bool SLPVectorizerPass::runImpl(Function &F, ScalarEvolution *SE_,
tools/polly/include/polly/CodeGen/BlockGenerators.h 67 BlockGenerator(PollyIRBuilder &Builder, LoopInfo &LI, ScalarEvolution &SE,
134 ScalarEvolution &SE;
tools/polly/include/polly/CodeGen/IRBuilder.h 98 llvm::ScalarEvolution *SE;
tools/polly/include/polly/CodeGen/IslExprBuilder.h 124 llvm::ScalarEvolution &SE, llvm::DominatorTree &DT,
205 llvm::ScalarEvolution &SE;
tools/polly/include/polly/CodeGen/IslNodeBuilder.h 36 ScalarEvolution &SE;
69 const DataLayout &DL, LoopInfo &LI, ScalarEvolution &SE,
155 ScalarEvolution &SE;
tools/polly/include/polly/ScopBuilder.h 50 ScalarEvolution &SE;
816 ScopDetection &SD, ScalarEvolution &SE,
tools/polly/include/polly/ScopDetection.h 194 ScalarEvolution &SE;
479 countBeneficialSubLoops(Loop *L, ScalarEvolution &SE,
517 ScopDetection(Function &F, const DominatorTree &DT, ScalarEvolution &SE,
598 countBeneficialLoops(Region *R, ScalarEvolution &SE, LoopInfo &LI,
tools/polly/include/polly/ScopInfo.h 1730 ScalarEvolution *SE;
1946 Scop(Region &R, ScalarEvolution &SE, LoopInfo &LI, DominatorTree &DT,
2102 ScalarEvolution *getSE() const;
2809 ScalarEvolution &SE;
2817 ScopInfo(const DataLayout &DL, ScopDetection &SD, ScalarEvolution &SE,
tools/polly/include/polly/ScopPass.h 175 ScalarEvolution &SE;
tools/polly/include/polly/Support/SCEVAffinator.h 63 llvm::ScalarEvolution &SE;
tools/polly/include/polly/Support/SCEVValidator.h 53 void findValues(const llvm::SCEV *Expr, llvm::ScalarEvolution &SE,
68 const llvm::SCEV *Expression, llvm::ScalarEvolution &SE,
73 llvm::Loop *Scope, llvm::ScalarEvolution &SE,
78 llvm::ScalarEvolution &SE);
87 extractConstantFactor(const llvm::SCEV *M, llvm::ScalarEvolution &SE);
96 llvm::ScalarEvolution &SE,
tools/polly/include/polly/Support/ScopHelper.h 347 llvm::Value *expandCodeFor(Scop &S, llvm::ScalarEvolution &SE,
415 llvm::ScalarEvolution &SE, const llvm::DominatorTree &DT,
436 llvm::ScalarEvolution *SE, llvm::Loop *Scope);
461 llvm::ScalarEvolution &SE);
tools/polly/lib/Analysis/ScopBuilder.cpp 2322 static bool isDivisible(const SCEV *Expr, unsigned Size, ScalarEvolution &SE) {
3752 ScopDetection &SD, ScalarEvolution &SE,
tools/polly/lib/Analysis/ScopDetection.cpp 330 ScalarEvolution &SE, LoopInfo &LI, RegionInfo &RI,
826 SCEVRemoveMax(ScalarEvolution &SE, std::vector<const SCEV *> *Terms)
829 static const SCEV *rewrite(const SCEV *Scev, ScalarEvolution &SE,
1338 ScopDetection::countBeneficialSubLoops(Loop *L, ScalarEvolution &SE,
1360 ScopDetection::countBeneficialLoops(Region *R, ScalarEvolution &SE,
1855 auto &SE = getAnalysis<ScalarEvolutionWrapperPass>().getSE();
1902 auto &SE = FAM.getResult<ScalarEvolutionAnalysis>(F);
tools/polly/lib/Analysis/ScopInfo.cpp 208 ScalarEvolution &SE = *S->getSE();
728 ScalarEvolution *SE = Statement->getParent()->getSE();
1393 ScalarEvolution &SE)
1396 static const SCEV *rewrite(const SCEV *E, ScalarEvolution &SE,
1424 SCEVFindInsideScop(const ValueToValueMap &VMap, ScalarEvolution &SE,
1428 static bool hasVariant(const SCEV *E, ScalarEvolution &SE,
1698 Scop::Scop(Region &R, ScalarEvolution &ScalarEvolution, LoopInfo &LI,
2367 ScalarEvolution *Scop::getSE() const { return SE; }
2671 auto &SE = getAnalysis<ScalarEvolutionWrapperPass>().getSE();
2719 ScopInfo::ScopInfo(const DataLayout &DL, ScopDetection &SD, ScalarEvolution &SE,
2769 auto &SE = FAM.getResult<ScalarEvolutionAnalysis>(F);
2807 auto &SE = getAnalysis<ScalarEvolutionWrapperPass>().getSE();
tools/polly/lib/CodeGen/BlockGenerators.cpp 57 PollyIRBuilder &B, LoopInfo &LI, ScalarEvolution &SE, DominatorTree &DT,
tools/polly/lib/CodeGen/CodeGeneration.cpp 169 ScalarEvolution &SE, RegionInfo &RI) {
317 ScalarEvolution *SE;
tools/polly/lib/CodeGen/IslExprBuilder.cpp 41 const DataLayout &DL, ScalarEvolution &SE,
tools/polly/lib/CodeGen/IslNodeBuilder.cpp 916 ScalarEvolution *SE = Stmt->getParent()->getSE();
tools/polly/lib/Support/SCEVValidator.cpp 137 ScalarEvolution &SE;
141 SCEVValidator(const Region *R, Loop *Scope, ScalarEvolution &SE,
579 ScalarEvolution &SE;
583 SCEVFindValues(ScalarEvolution &SE, SetVector<Value *> &Values)
612 void findValues(const SCEV *Expr, ScalarEvolution &SE,
636 ScalarEvolution &SE, InvariantLoadsSetTy *ILS) {
660 ScalarEvolution &SE, ParameterSetTy &Params) {
677 ScalarEvolution &SE, ParameterSetTy &Params,
700 const SCEV *Expr, ScalarEvolution &SE) {
713 extractConstantFactor(const SCEV *S, ScalarEvolution &SE) {
773 ScalarEvolution &SE, LoopInfo &LI,
tools/polly/lib/Support/ScopHelper.cpp 233 explicit ScopExpander(const Region &R, ScalarEvolution &SE,
261 ScalarEvolution &SE;
394 Value *polly::expandCodeFor(Scop &S, ScalarEvolution &SE, const DataLayout &DL,
539 ScalarEvolution &SE) {
550 ScalarEvolution &SE, const DominatorTree &DT,
636 bool polly::canSynthesize(const Value *V, const Scop &S, ScalarEvolution *SE,
662 polly::getIndexExpressionsFromGEP(GetElementPtrInst *GEP, ScalarEvolution &SE) {
tools/polly/lib/Support/VirtualInstruction.cpp 65 auto *SE = S->getSE();
tools/polly/lib/Transform/CodePreparation.cpp 38 ScalarEvolution *SE;
unittests/Analysis/IVDescriptorsTest.cpp 24 function_ref<void(Function &F, LoopInfo &LI, ScalarEvolution &SE)> Test) {
33 ScalarEvolution SE(*F, TLI, AC, DT, LI);
unittests/Analysis/LoopInfoTest.cpp 35 function_ref<void(Function &F, LoopInfo &LI, ScalarEvolution &SE)> Test) {
44 ScalarEvolution SE(*F, TLI, AC, DT, LI);
unittests/Analysis/ScalarEvolutionTest.cpp 45 ScalarEvolution buildSE(Function &F) {
54 function_ref<void(Function &F, LoopInfo &LI, ScalarEvolution &SE)> Test) {
57 ScalarEvolution SE = buildSE(*F);
61 static Optional<APInt> computeConstantDifference(ScalarEvolution &SE,
81 ScalarEvolution SE = buildSE(*F);
132 ScalarEvolution SE = buildSE(*F);
192 ScalarEvolution SE = buildSE(*F);
396 ScalarEvolution SE = buildSE(*F);
433 ScalarEvolution SE = buildSE(*F);
467 ScalarEvolution SE = buildSE(*F);
716 ScalarEvolution SE = buildSE(*F);
785 ScalarEvolution SE = buildSE(*F);
859 ScalarEvolution SE = buildSE(*F);
959 ScalarEvolution SE = buildSE(*F);
1028 ScalarEvolution SE = buildSE(*F);
1086 ScalarEvolution SE = buildSE(*F);
1106 ScalarEvolution SE = buildSE(*F);
1185 ScalarEvolution SE = buildSE(*F);
1240 ScalarEvolution SE = buildSE(*F);
1292 ScalarEvolution SE = buildSE(*F);
1337 ScalarEvolution SE = buildSE(*F);
1388 ScalarEvolution SE = buildSE(*F);
1438 ScalarEvolution SE = buildSE(*F);
1662 ScalarEvolution SE = buildSE(*F);
unittests/Analysis/UnrollAnalyzerTest.cpp 28 ScalarEvolution *SE = &getAnalysis<ScalarEvolutionWrapperPass>().getSE();
unittests/Transforms/Utils/UnrollLoopTest.cpp 67 ScalarEvolution SE(*F, TLI, AC, DT, LI);
unittests/Transforms/Vectorize/VPlanSlpTest.cpp 26 std::unique_ptr<ScalarEvolution> SE;
42 SE.reset(new ScalarEvolution(F, TLI, *AC, *DT, *LI));
usr/include/c++/7.4.0/bits/move.h 72 constexpr _Tp&&
73 forward(typename std::remove_reference<_Tp>::type& __t) noexcept
83 constexpr _Tp&&
84 forward(typename std::remove_reference<_Tp>::type&& __t) noexcept
98 move(_Tp&& __t) noexcept
usr/include/c++/7.4.0/bits/std_function.h 299 _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args)
628 using _Invoker_type = _Res (*)(const _Any_data&, _ArgTypes&&...);
usr/include/c++/7.4.0/bits/unique_ptr.h 68 default_delete(const default_delete<_Up>&) noexcept { }
72 operator()(_Tp* __ptr) const
74 static_assert(!is_void<_Tp>::value,
76 static_assert(sizeof(_Tp)>0,
122 using type = _Up*;
137 using pointer = typename _Ptr<_Tp, _Dp>::type;
161 typename __uniq_ptr_impl<_Tp, _Up>::_DeleterConstraint::type;
163 __uniq_ptr_impl<_Tp, _Dp> _M_t;
166 using pointer = typename __uniq_ptr_impl<_Tp, _Dp>::pointer;
167 using element_type = _Tp;
824 make_unique(_Args&&... __args)
825 { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
usr/include/c++/7.4.0/type_traits 215 : public __is_void_helper<typename remove_cv<_Tp>::type>::type
581 : public __or_<is_lvalue_reference<_Tp>,
582 is_rvalue_reference<_Tp>>::type
601 : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
601 : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
602 is_void<_Tp>>>::type
638 : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
638 : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
1554 { typedef _Tp type; };
1563 { typedef _Tp type; };
1574 remove_const<typename remove_volatile<_Tp>::type>::type type;
1629 { typedef _Tp type; };
1633 { typedef _Tp type; };
1645 { typedef _Tp& type; };
1650 : public __add_lvalue_reference_helper<_Tp>
1659 { typedef _Tp&& type; };
1664 : public __add_rvalue_reference_helper<_Tp>
2253 inline typename add_rvalue_reference<_Tp>::type