| /llvm-project-15.0.7/llvm/lib/Target/PowerPC/ |
| H A D | PPCLoopInstrFormPrep.cpp | 669 const SCEVConstant *BasePtrIncConstantSCEV = in rewriteForBase() 670 dyn_cast<SCEVConstant>(BasePtrIncSCEV); in rewriteForBase() 792 (isa<SCEVConstant>(Element.Offset) && in rewriteForBucketElement() 957 E.Offset = cast<SCEVConstant>(SE->getNegativeSCEV(Offset)); in prepareBaseForDispFormChain() 1143 if (isa<SCEVConstant>(BasePtrIncSCEV)) in getNodeForInc() 1144 return cast<SCEVConstant>(BasePtrIncSCEV)->getValue(); in getNodeForInc() 1241 const SCEVConstant *PHIBasePtrIncSCEV = in alreadyPrepared() 1260 const SCEVConstant *Diff = dyn_cast<SCEVConstant>( in alreadyPrepared() 1327 if (const SCEVConstant *StepConst = in runOnLoop() 1407 return dyn_cast<SCEVConstant>(Diff) != nullptr; in runOnLoop() [all …]
|
| /llvm-project-15.0.7/llvm/lib/Analysis/ |
| H A D | DependenceAnalysis.cpp | 1204 if (isa<SCEVConstant>(Delta) && isa<SCEVConstant>(Coeff)) { in strongSIVtest() 1329 const SCEVConstant *ConstCoeff = dyn_cast<SCEVConstant>(Coeff); in weakCrossingSIVtest() 1348 const SCEVConstant *ConstDelta = dyn_cast<SCEVConstant>(Delta); in weakCrossingSIVtest() 1521 const SCEVConstant *ConstDelta = dyn_cast<SCEVConstant>(Delta); in exactSIVtest() 2387 const SCEVConstant *Constant = dyn_cast<SCEVConstant>(Delta); in gcdMIVtest() 3152 const SCEVConstant *Bconst = dyn_cast<SCEVConstant>(B); in propagateLine() 3153 const SCEVConstant *Cconst = dyn_cast<SCEVConstant>(C); in propagateLine() 3167 const SCEVConstant *Aconst = dyn_cast<SCEVConstant>(A); in propagateLine() 3168 const SCEVConstant *Cconst = dyn_cast<SCEVConstant>(C); in propagateLine() 3181 const SCEVConstant *Aconst = dyn_cast<SCEVConstant>(A); in propagateLine() [all …]
|
| H A D | ScalarEvolution.cpp | 425 if (const SCEVConstant *SC = dyn_cast<SCEVConstant>(this)) in isZero() 431 if (const SCEVConstant *SC = dyn_cast<SCEVConstant>(this)) in isOne() 437 if (const SCEVConstant *SC = dyn_cast<SCEVConstant>(this)) in isAllOnesValue() 742 const SCEVConstant *LC = cast<SCEVConstant>(LHS); in CompareSCEVComplexity() 743 const SCEVConstant *RC = cast<SCEVConstant>(RHS); in CompareSCEVComplexity() 1220 if (const SCEVConstant *SC = dyn_cast<SCEVConstant>(Op)) in getTruncateExpr() 1603 if (const SCEVConstant *SC = dyn_cast<SCEVConstant>(Op)) in getZeroExtendExpr() 1905 if (const SCEVConstant *SC = dyn_cast<SCEVConstant>(Op)) in getSignExtendExpr() 2160 if (const SCEVConstant *SC = dyn_cast<SCEVConstant>(Op)) in getAnyExtendExpr() 6169 if (const SCEVConstant *C = dyn_cast<SCEVConstant>(S)) in GetMinTrailingZerosImpl() [all …]
|
| H A D | LoopUnrollAnalyzer.cpp | 36 if (auto *SC = dyn_cast<SCEVConstant>(S)) { in simplifyInstWithSCEV() 52 if (auto *SC = dyn_cast<SCEVConstant>(ValueAtIteration)) { in simplifyInstWithSCEV() 62 dyn_cast<SCEVConstant>(SE.getMinusSCEV(ValueAtIteration, Base)); in simplifyInstWithSCEV()
|
| H A D | ScalarEvolutionDivision.cpp | 108 void SCEVDivision::visitConstant(const SCEVConstant *Numerator) { in visitConstant() 109 if (const SCEVConstant *D = dyn_cast<SCEVConstant>(Denominator)) { in visitConstant()
|
| H A D | Delinearization.cpp | 211 if (!isa<SCEVConstant>(Op)) in findArrayDimensionsRec() 234 erase_if(Terms, [](const SCEV *E) { return isa<SCEVConstant>(E); }); in findArrayDimensionsRec() 261 if (isa<SCEVConstant>(T)) in removeConstantFactors() 270 if (!isa<SCEVConstant>(Op)) in removeConstantFactors() 499 if (auto *Const = dyn_cast<SCEVConstant>(Expr)) in getIndexExpressionsFromGEP()
|
| H A D | LoopCacheAnalysis.cpp | 113 isa<SCEVConstant>(BackedgeTakenCount)) in computeTripCount() 191 const SCEVConstant *Diff = dyn_cast<SCEVConstant>( in hasSpacialReuse() 247 const SCEVConstant *SCEVConst = dyn_cast_or_null<SCEVConstant>(Distance); in hasTemporalReuse() 337 if (auto ConstantCost = dyn_cast<SCEVConstant>(RefCost)) in computeRefCost()
|
| H A D | LoopAccessAnalysis.cpp | 166 static_cast<const SCEVConstant *>(SE->getOne(StrideVal->getType())); in replaceSymbolicStrideSCEV() 222 if (const auto *CStep = dyn_cast<SCEVConstant>(Step)) { in insert() 310 auto *Step = dyn_cast<SCEVConstant>(SinkAR->getStepRecurrence(*SE)); in tryToCreateDiffCheck() 370 const SCEVConstant *C = dyn_cast<const SCEVConstant>(Diff); in getMinFromExprs() 1382 const SCEVConstant *C = dyn_cast<SCEVConstant>(Step); in getPtrStride() 1478 dyn_cast<SCEVConstant>(SE.getMinusSCEV(PtrSCEVB, PtrSCEVA)); in getPointersDiff() 1836 const SCEVConstant *C = dyn_cast<SCEVConstant>(Dist); in isDependent()
|
| /llvm-project-15.0.7/llvm/unittests/Analysis/ |
| H A D | ScalarEvolutionTest.cpp | 779 EXPECT_TRUE(isa<SCEVConstant>(EC)); in TEST_F() 789 EXPECT_TRUE(isa<SCEVConstant>(ARAtLoopExit)); in TEST_F() 803 EXPECT_TRUE(isa<SCEVConstant>(NewEC)); in TEST_F() 807 EXPECT_TRUE(isa<SCEVConstant>(NewARAtLoopExit)); in TEST_F() 879 EXPECT_FALSE(isa<SCEVConstant>(EC)); in TEST_F() 892 EXPECT_TRUE(isa<SCEVConstant>(NewEC)); in TEST_F() 1298 EXPECT_FALSE(isa<SCEVConstant>(BTC)); in TEST_F() 1300 EXPECT_EQ(cast<SCEVConstant>(MaxBTC)->getAPInt(), 15); in TEST_F() 1499 EXPECT_EQ(cast<SCEVConstant>(RHS)->getValue()->getZExtValue(), in TEST_F() 1575 EXPECT_TRUE(isa<SCEVConstant>(ITC)); in TEST_F() [all …]
|
| /llvm-project-15.0.7/polly/include/polly/Support/ |
| H A D | SCEVValidator.h | 17 class SCEVConstant; variable 69 std::pair<const llvm::SCEVConstant *, const llvm::SCEV *>
|
| H A D | SCEVAffinator.h | 101 PWACtx visitConstant(const llvm::SCEVConstant *E);
|
| /llvm-project-15.0.7/polly/lib/Support/ |
| H A D | SCEVValidator.cpp | 133 ValidatorResult visitConstant(const SCEVConstant *Constant) { in visitConstant() 377 if (isa<SCEVConstant>(Divisor) && !Divisor->isZero()) in visitDivision() 562 if (!isa<SCEVConstant>(Dividend)) in follow() 670 std::pair<const SCEVConstant *, const SCEV *> 672 auto *ConstPart = cast<SCEVConstant>(SE.getConstant(S->getType(), 1)); in extractConstantFactor() 674 if (auto *Constant = dyn_cast<SCEVConstant>(S)) in extractConstantFactor() 695 Factor = cast<SCEVConstant>(SE.getNegativeSCEV(Factor)); in extractConstantFactor() 722 if (isa<SCEVConstant>(Op)) in extractConstantFactor() 723 ConstPart = cast<SCEVConstant>(SE.getMulExpr(ConstPart, Op)); in extractConstantFactor()
|
| H A D | SCEVAffinator.cpp | 247 PWACtx SCEVAffinator::visitConstant(const SCEVConstant *Expr) { in visitConstant() 483 assert(isa<SCEVConstant>(Divisor) && in visitUDivExpr() 518 assert(isa<SCEVConstant>(DivisorSCEV) && in visitSDivInstruction()
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Scalar/ |
| H A D | AlignmentFromAssumptions.cpp | 102 if (const SCEVConstant *ConstDUSCEV = in getNewAlignmentDiff() 103 dyn_cast<SCEVConstant>(DiffUnitsSCEV)) { in getNewAlignmentDiff() 110 return cast<SCEVConstant>(AlignSCEV)->getValue()->getAlignValue(); in getNewAlignmentDiff() 221 if (!isa<SCEVConstant>(AlignSCEV)) in extractAlignmentInfo()
|
| H A D | LoopStrengthReduce.cpp | 690 const SCEVConstant *RC = dyn_cast<SCEVConstant>(RHS); in getExactSDiv() 706 if (const SCEVConstant *C = dyn_cast<SCEVConstant>(LHS)) { in getExactSDiv() 753 const SCEVConstant *LC = dyn_cast<SCEVConstant>(Mul->getOperand(0)); in getExactSDiv() 788 if (const SCEVConstant *C = dyn_cast<SCEVConstant>(S)) { in ExtractImmediate() 3166 const SCEVConstant *IncConst = dyn_cast<SCEVConstant>(IncExpr); in canFoldIVIncExpr() 3710 const SCEVConstant *InnerSumSC = dyn_cast<SCEVConstant>(InnerSum); in GenerateReassociationsImpl() 3726 const SCEVConstant *SC = dyn_cast<SCEVConstant>(*J); in GenerateReassociationsImpl() 4358 if (const SCEVConstant *C = dyn_cast<SCEVConstant>(NewReg)) in GenerateCrossUseConstantOffsets() 4553 if (const SCEVConstant *C = dyn_cast<SCEVConstant>(*I)) { in NarrowSearchSpaceByDetectingSupersets() 6010 if (const SCEVConstant *StartInt = dyn_cast<SCEVConstant>(S)) { in pushSCEV() [all …]
|
| H A D | LoopIdiomRecognize.cpp | 393 if (const SCEVConstant *BECst = dyn_cast<SCEVConstant>(BECount)) in runOnCountableLoop() 426 const SCEVConstant *ConstStride = cast<SCEVConstant>(StoreEv->getOperand(1)); in getStoreStride() 512 if (!isa<SCEVConstant>(StoreEv->getOperand(1))) in isLegalStore() 858 const SCEVConstant *ConstStoreStride = in processLoopMemCpy() 859 dyn_cast<SCEVConstant>(StoreEv->getOperand(1)); in processLoopMemCpy() 860 const SCEVConstant *ConstLoadStride = in processLoopMemCpy() 861 dyn_cast<SCEVConstant>(LoadEv->getOperand(1)); in processLoopMemCpy() 932 const SCEVConstant *ConstStride = dyn_cast<SCEVConstant>(Ev->getOperand(1)); in processLoopMemSet() 1016 const SCEVConstant *BECst = dyn_cast<SCEVConstant>(BECount); in mayLoopAccessLocation() 1017 const SCEVConstant *ConstSize = dyn_cast<SCEVConstant>(StoreSizeSCEV); in mayLoopAccessLocation() [all …]
|
| H A D | LoopDataPrefetch.cpp | 162 const auto *ConstStride = dyn_cast<SCEVConstant>(AR->getStepRecurrence(*SE)); in isStrideLargeEnough() 359 if (const SCEVConstant *ConstPtrDiff = in runOnLoop() 360 dyn_cast<SCEVConstant>(PtrDiff)) { in runOnLoop()
|
| H A D | InductiveRangeCheckElimination.cpp | 853 if (!isa<SCEVConstant>(StepRec)) { in parseLoopStructure() 857 ConstantInt *StepCI = cast<SCEVConstant>(StepRec)->getValue(); in parseLoopStructure() 1436 const SCEVConstant *MinusOneS = in run() 1437 cast<SCEVConstant>(SE.getConstant(IVTy, -1, true /* isSigned */)); in run() 1613 const SCEVConstant *B = dyn_cast<SCEVConstant>( in computeSafeIterationSpace() 1620 const SCEVConstant *D = dyn_cast<SCEVConstant>(getStep()); in computeSafeIterationSpace()
|
| H A D | LoopBoundSplit.cpp | 143 if (!isa<SCEVConstant>(StepRecSCEV)) in hasProcessableCondition() 146 ConstantInt *StepCI = cast<SCEVConstant>(StepRecSCEV)->getValue(); in hasProcessableCondition()
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Utils/ |
| H A D | ScalarEvolutionExpander.cpp | 307 if (const SCEVConstant *C = dyn_cast<SCEVConstant>(S)) { in FactorOutConstant() 312 if (const SCEVConstant *FC = dyn_cast<SCEVConstant>(Factor)) { in FactorOutConstant() 333 if (const SCEVConstant *FC = dyn_cast<SCEVConstant>(Factor)) in FactorOutConstant() 334 if (const SCEVConstant *C = dyn_cast<SCEVConstant>(M->getOperand(0))) in FactorOutConstant() 524 if (const SCEVConstant *C = dyn_cast<SCEVConstant>(Ops[0])) in expandAddToGEP() 681 if (isa<SCEVConstant>(S)) in getRelevantLoop() 908 if (const SCEVConstant *SC = dyn_cast<SCEVConstant>(S->getRHS())) { in visitUDivExpr() 1775 if (isa<SCEVConstant>(S)) in FindValueInExprValueMap() 1942 auto *Const = dyn_cast<SCEVConstant>(SE.getSCEV(PN)); in replaceCongruentIVs() 2255 if (!isa<SCEVConstant>(S) && !Processed.insert(S).second) in isHighCostExpansionHelper() [all …]
|
| /llvm-project-15.0.7/llvm/include/llvm/Analysis/ |
| H A D | ScalarEvolutionDivision.h | 49 void visitConstant(const SCEVConstant *Numerator);
|
| H A D | ScalarEvolutionExpressions.h | 60 class SCEVConstant : public SCEV { 65 SCEVConstant(const FoldingSetNodeIDRef ID, ConstantInt *v) in SCEVConstant() function 618 return ((SC *)this)->visitConstant((const SCEVConstant *)S); in visit() 780 const SCEV *visitConstant(const SCEVConstant *Constant) { return Constant; } in visitConstant()
|
| H A D | DependenceAnalysis.h | 54 class SCEVConstant; variable 582 const SCEVConstant *collectConstantUpperBound(const Loop *l, Type *T) const;
|
| /llvm-project-15.0.7/llvm/lib/Target/ARM/ |
| H A D | MVETailPredication.cpp | 332 auto *Base = dyn_cast<SCEVConstant>(AddExpr->getOperand(0)); in IsSafeActiveMask() 337 auto *Step = dyn_cast<SCEVConstant>(AddExpr->getOperand(1)); in IsSafeActiveMask()
|
| /llvm-project-15.0.7/llvm/test/Transforms/LoopStrengthReduce/AArch64/ |
| H A D | vscale-factor-out-constant.ll | 6 …st check SCEVExpander FactorOutConstant() is not crashing with blind cast 'Factor' to SCEVConstant.
|