Home
last modified time | relevance | path

Searched refs:SCEVConstant (Results 1 – 25 of 48) sorted by relevance

12

/llvm-project-15.0.7/llvm/lib/Target/PowerPC/
H A DPPCLoopInstrFormPrep.cpp669 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 DDependenceAnalysis.cpp1204 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 DScalarEvolution.cpp425 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 DLoopUnrollAnalyzer.cpp36 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 DScalarEvolutionDivision.cpp108 void SCEVDivision::visitConstant(const SCEVConstant *Numerator) { in visitConstant()
109 if (const SCEVConstant *D = dyn_cast<SCEVConstant>(Denominator)) { in visitConstant()
H A DDelinearization.cpp211 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 DLoopCacheAnalysis.cpp113 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 DLoopAccessAnalysis.cpp166 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 DScalarEvolutionTest.cpp779 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 DSCEVValidator.h17 class SCEVConstant; variable
69 std::pair<const llvm::SCEVConstant *, const llvm::SCEV *>
H A DSCEVAffinator.h101 PWACtx visitConstant(const llvm::SCEVConstant *E);
/llvm-project-15.0.7/polly/lib/Support/
H A DSCEVValidator.cpp133 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 DSCEVAffinator.cpp247 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 DAlignmentFromAssumptions.cpp102 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 DLoopStrengthReduce.cpp690 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 DLoopIdiomRecognize.cpp393 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 DLoopDataPrefetch.cpp162 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 DInductiveRangeCheckElimination.cpp853 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 DLoopBoundSplit.cpp143 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 DScalarEvolutionExpander.cpp307 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 DScalarEvolutionDivision.h49 void visitConstant(const SCEVConstant *Numerator);
H A DScalarEvolutionExpressions.h60 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 DDependenceAnalysis.h54 class SCEVConstant; variable
582 const SCEVConstant *collectConstantUpperBound(const Loop *l, Type *T) const;
/llvm-project-15.0.7/llvm/lib/Target/ARM/
H A DMVETailPredication.cpp332 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 Dvscale-factor-out-constant.ll6 …st check SCEVExpander FactorOutConstant() is not crashing with blind cast 'Factor' to SCEVConstant.

12