Lines Matching refs:ScalarEvolution
107 INITIALIZE_PASS_BEGIN(ScalarEvolution, "scalar-evolution",
111 INITIALIZE_PASS_END(ScalarEvolution, "scalar-evolution",
113 char ScalarEvolution::ID = 0;
284 const SCEV *ScalarEvolution::getConstant(ConstantInt *V) { in getConstant()
295 const SCEV *ScalarEvolution::getConstant(const APInt& Val) { in getConstant()
300 ScalarEvolution::getConstant(Type *Ty, uint64_t V, bool isSigned) { in getConstant()
654 ScalarEvolution &SE, in BinomialCoefficient()
773 ScalarEvolution &SE) const { in evaluateAtIteration()
792 const SCEV *ScalarEvolution::getTruncateExpr(const SCEV *Op, in getTruncateExpr()
879 const SCEV *ScalarEvolution::getZeroExtendExpr(const SCEV *Op, in getZeroExtendExpr()
1043 ScalarEvolution *SE) { in getOverflowLimitForStep()
1066 ScalarEvolution *SE) { in getPreStartForSignExtend()
1128 ScalarEvolution *SE) { in getSignExtendAddRecStart()
1137 const SCEV *ScalarEvolution::getSignExtendExpr(const SCEV *Op, in getSignExtendExpr()
1289 const SCEV *ScalarEvolution::getAnyExtendExpr(const SCEV *Op, in getAnyExtendExpr()
1375 ScalarEvolution &SE) { in CollectAddOperandsWithScales()
1446 const SCEV *ScalarEvolution::getAddExpr(SmallVectorImpl<const SCEV *> &Ops, in getAddExpr()
1849 const SCEV *ScalarEvolution::getMulExpr(SmallVectorImpl<const SCEV *> &Ops, in getMulExpr()
2107 const SCEV *ScalarEvolution::getUDivExpr(const SCEV *LHS, in getUDivExpr()
2227 const SCEV *ScalarEvolution::getAddRecExpr(const SCEV *Start, const SCEV *Step, in getAddRecExpr()
2245 ScalarEvolution::getAddRecExpr(SmallVectorImpl<const SCEV *> &Operands, in getAddRecExpr()
2354 const SCEV *ScalarEvolution::getSMaxExpr(const SCEV *LHS, in getSMaxExpr()
2363 ScalarEvolution::getSMaxExpr(SmallVectorImpl<const SCEV *> &Ops) { in getSMaxExpr()
2458 const SCEV *ScalarEvolution::getUMaxExpr(const SCEV *LHS, in getUMaxExpr()
2467 ScalarEvolution::getUMaxExpr(SmallVectorImpl<const SCEV *> &Ops) { in getUMaxExpr()
2562 const SCEV *ScalarEvolution::getSMinExpr(const SCEV *LHS, in getSMinExpr()
2568 const SCEV *ScalarEvolution::getUMinExpr(const SCEV *LHS, in getUMinExpr()
2574 const SCEV *ScalarEvolution::getSizeOfExpr(Type *AllocTy) { in getSizeOfExpr()
2590 const SCEV *ScalarEvolution::getAlignOfExpr(Type *AllocTy) { in getAlignOfExpr()
2599 const SCEV *ScalarEvolution::getOffsetOfExpr(StructType *STy, in getOffsetOfExpr()
2616 const SCEV *ScalarEvolution::getOffsetOfExpr(Type *CTy, in getOffsetOfExpr()
2626 const SCEV *ScalarEvolution::getUnknown(Value *V) { in getUnknown()
2656 bool ScalarEvolution::isSCEVable(Type *Ty) const { in isSCEVable()
2663 uint64_t ScalarEvolution::getTypeSizeInBits(Type *Ty) const { in getTypeSizeInBits()
2684 Type *ScalarEvolution::getEffectiveSCEVType(Type *Ty) const { in getEffectiveSCEVType()
2698 const SCEV *ScalarEvolution::getCouldNotCompute() { in getCouldNotCompute()
2704 const SCEV *ScalarEvolution::getSCEV(Value *V) { in getSCEV()
2721 const SCEV *ScalarEvolution::getNegativeSCEV(const SCEV *V) { in getNegativeSCEV()
2733 const SCEV *ScalarEvolution::getNotSCEV(const SCEV *V) { in getNotSCEV()
2746 const SCEV *ScalarEvolution::getMinusSCEV(const SCEV *LHS, const SCEV *RHS, in getMinusSCEV()
2762 ScalarEvolution::getTruncateOrZeroExtend(const SCEV *V, Type *Ty) { in getTruncateOrZeroExtend()
2778 ScalarEvolution::getTruncateOrSignExtend(const SCEV *V, in getTruncateOrSignExtend()
2795 ScalarEvolution::getNoopOrZeroExtend(const SCEV *V, Type *Ty) { in getNoopOrZeroExtend()
2811 ScalarEvolution::getNoopOrSignExtend(const SCEV *V, Type *Ty) { in getNoopOrSignExtend()
2828 ScalarEvolution::getNoopOrAnyExtend(const SCEV *V, Type *Ty) { in getNoopOrAnyExtend()
2843 ScalarEvolution::getTruncateOrNoop(const SCEV *V, Type *Ty) { in getTruncateOrNoop()
2858 const SCEV *ScalarEvolution::getUMaxFromMismatchedTypes(const SCEV *LHS, in getUMaxFromMismatchedTypes()
2874 const SCEV *ScalarEvolution::getUMinFromMismatchedTypes(const SCEV *LHS, in getUMinFromMismatchedTypes()
2891 const SCEV *ScalarEvolution::getPointerBase(const SCEV *V) { in getPointerBase()
2933 ScalarEvolution::ForgetSymbolicName(Instruction *PN, const SCEV *SymName) { in ForgetSymbolicName()
2975 const SCEV *ScalarEvolution::createNodeForPHI(PHINode *PN) { in createNodeForPHI()
3122 const SCEV *ScalarEvolution::createNodeForGEP(GEPOperator *GEP) { in createNodeForGEP()
3179 ScalarEvolution::GetMinTrailingZeros(const SCEV *S) { in GetMinTrailingZeros()
3258 ScalarEvolution::getUnsignedRange(const SCEV *S) { in getUnsignedRange()
3400 ScalarEvolution::getSignedRange(const SCEV *S) { in getSignedRange()
3553 const SCEV *ScalarEvolution::createSCEV(Value *V) { in createSCEV()
3921 unsigned ScalarEvolution::getSmallConstantTripCount(Loop *L, in getSmallConstantTripCount()
3947 unsigned ScalarEvolution::getSmallConstantTripMultiple(Loop *L, in getSmallConstantTripMultiple()
3977 const SCEV *ScalarEvolution::getExitCount(Loop *L, BasicBlock *ExitingBlock) { in getExitCount()
3992 const SCEV *ScalarEvolution::getBackedgeTakenCount(const Loop *L) { in getBackedgeTakenCount()
3999 const SCEV *ScalarEvolution::getMaxBackedgeTakenCount(const Loop *L) { in getMaxBackedgeTakenCount()
4015 const ScalarEvolution::BackedgeTakenInfo &
4016 ScalarEvolution::getBackedgeTakenInfo(const Loop *L) { in getBackedgeTakenInfo()
4092 void ScalarEvolution::forgetLoop(const Loop *L) { in forgetLoop()
4130 void ScalarEvolution::forgetValue(Value *V) { in forgetValue()
4158 ScalarEvolution::BackedgeTakenInfo::getExact(ScalarEvolution *SE) const { in getExact()
4183 ScalarEvolution::BackedgeTakenInfo::getExact(BasicBlock *ExitingBlock, in getExact()
4184 ScalarEvolution *SE) const { in getExact()
4196 ScalarEvolution::BackedgeTakenInfo::getMax(ScalarEvolution *SE) const { in getMax()
4202 ScalarEvolution::BackedgeTakenInfo::BackedgeTakenInfo( in BackedgeTakenInfo()
4228 void ScalarEvolution::BackedgeTakenInfo::clear() { in clear()
4236 ScalarEvolution::BackedgeTakenInfo
4237 ScalarEvolution::ComputeBackedgeTakenCount(const Loop *L) { in ComputeBackedgeTakenCount()
4265 ScalarEvolution::ExitLimit
4266 ScalarEvolution::ComputeExitLimit(const Loop *L, BasicBlock *ExitingBlock) { in ComputeExitLimit()
4332 ScalarEvolution::ExitLimit
4333 ScalarEvolution::ComputeExitLimitFromCond(const Loop *L, in ComputeExitLimitFromCond()
4430 ScalarEvolution::ExitLimit
4431 ScalarEvolution::ComputeExitLimitFromICmp(const Loop *L, in ComputeExitLimitFromICmp()
4534 ScalarEvolution &SE) { in EvaluateConstantChrecAtConstant()
4579 ScalarEvolution::ExitLimit
4580 ScalarEvolution::ComputeLoadConstantCompareExitLimit( in ComputeLoadConstantCompareExitLimit()
4788 ScalarEvolution::getConstantEvolutionLoopExitValue(PHINode *PN, in getConstantEvolutionLoopExitValue()
4847 const SCEV * ScalarEvolution::ComputeExitCountExhaustively(const Loop *L, in ComputeExitCountExhaustively()
4910 const SCEV *ScalarEvolution::getSCEVAtScope(const SCEV *V, const Loop *L) { in getSCEVAtScope()
4924 const SCEV *ScalarEvolution::computeSCEVAtScope(const SCEV *V, const Loop *L) { in computeSCEVAtScope()
5121 const SCEV *ScalarEvolution::getSCEVAtScope(Value *V, const Loop *L) { in getSCEVAtScope()
5135 ScalarEvolution &SE) { in SolveLinEquationWithOverflow()
5178 SolveQuadraticEquation(const SCEVAddRecExpr *AddRec, ScalarEvolution &SE) { in SolveQuadraticEquation()
5245 ScalarEvolution::ExitLimit
5246 ScalarEvolution::HowFarToZero(const SCEV *V, const Loop *L) { in HowFarToZero()
5368 ScalarEvolution::ExitLimit
5369 ScalarEvolution::HowFarToNonZero(const SCEV *V, const Loop *L) { in HowFarToNonZero()
5393 ScalarEvolution::getPredecessorWithUniqueSuccessorForBB(BasicBlock *BB) { in getPredecessorWithUniqueSuccessorForBB()
5435 bool ScalarEvolution::SimplifyICmpOperands(ICmpInst::Predicate &Pred, in SimplifyICmpOperands()
5692 bool ScalarEvolution::isKnownNegative(const SCEV *S) { in isKnownNegative()
5696 bool ScalarEvolution::isKnownPositive(const SCEV *S) { in isKnownPositive()
5700 bool ScalarEvolution::isKnownNonNegative(const SCEV *S) { in isKnownNonNegative()
5704 bool ScalarEvolution::isKnownNonPositive(const SCEV *S) { in isKnownNonPositive()
5708 bool ScalarEvolution::isKnownNonZero(const SCEV *S) { in isKnownNonZero()
5712 bool ScalarEvolution::isKnownPredicate(ICmpInst::Predicate Pred, in isKnownPredicate()
5737 ScalarEvolution::isKnownPredicateWithRanges(ICmpInst::Predicate Pred, in isKnownPredicateWithRanges()
5819 ScalarEvolution::isLoopBackedgeGuardedByCond(const Loop *L, in isLoopBackedgeGuardedByCond()
5845 ScalarEvolution::isLoopEntryGuardedByCond(const Loop *L, in isLoopEntryGuardedByCond()
5877 bool ScalarEvolution::isImpliedCond(ICmpInst::Predicate Pred, in isImpliedCond()
5981 bool ScalarEvolution::isImpliedCondOperands(ICmpInst::Predicate Pred, in isImpliedCondOperands()
5997 ScalarEvolution::isImpliedCondOperandsHelper(ICmpInst::Predicate Pred, in isImpliedCondOperandsHelper()
6040 const SCEV *ScalarEvolution::getBECount(const SCEV *Start, in getBECount()
6081 ScalarEvolution::ExitLimit
6082 ScalarEvolution::HowManyLessThans(const SCEV *LHS, const SCEV *RHS, in HowManyLessThans()
6200 ScalarEvolution &SE) const { in getNumIterationsInRange()
6326 void ScalarEvolution::SCEVCallbackVH::deleted() { in deleted()
6334 void ScalarEvolution::SCEVCallbackVH::allUsesReplacedWith(Value *V) { in allUsesReplacedWith()
6368 ScalarEvolution::SCEVCallbackVH::SCEVCallbackVH(Value *V, ScalarEvolution *se) in SCEVCallbackVH()
6375 ScalarEvolution::ScalarEvolution() in ScalarEvolution() function in ScalarEvolution
6380 bool ScalarEvolution::runOnFunction(Function &F) { in runOnFunction()
6388 void ScalarEvolution::releaseMemory() { in releaseMemory()
6416 void ScalarEvolution::getAnalysisUsage(AnalysisUsage &AU) const { in getAnalysisUsage()
6422 bool ScalarEvolution::hasLoopInvariantBackedgeTakenCount(const Loop *L) { in hasLoopInvariantBackedgeTakenCount()
6426 static void PrintLoopInfo(raw_ostream &OS, ScalarEvolution *SE, in PrintLoopInfo()
6461 void ScalarEvolution::print(raw_ostream &OS, const Module *) const { in print()
6468 ScalarEvolution &SE = *const_cast<ScalarEvolution *>(this); in print()
6508 ScalarEvolution::LoopDisposition
6509 ScalarEvolution::getLoopDisposition(const SCEV *S, const Loop *L) { in getLoopDisposition()
6520 ScalarEvolution::LoopDisposition
6521 ScalarEvolution::computeLoopDisposition(const SCEV *S, const Loop *L) { in computeLoopDisposition()
6602 bool ScalarEvolution::isLoopInvariant(const SCEV *S, const Loop *L) { in isLoopInvariant()
6606 bool ScalarEvolution::hasComputableLoopEvolution(const SCEV *S, const Loop *L) { in hasComputableLoopEvolution()
6610 ScalarEvolution::BlockDisposition
6611 ScalarEvolution::getBlockDisposition(const SCEV *S, const BasicBlock *BB) { in getBlockDisposition()
6622 ScalarEvolution::BlockDisposition
6623 ScalarEvolution::computeBlockDisposition(const SCEV *S, const BasicBlock *BB) { in computeBlockDisposition()
6688 bool ScalarEvolution::dominates(const SCEV *S, const BasicBlock *BB) { in dominates()
6692 bool ScalarEvolution::properlyDominates(const SCEV *S, const BasicBlock *BB) { in properlyDominates()
6696 bool ScalarEvolution::hasOperand(const SCEV *S, const SCEV *Op) const { in hasOperand()
6738 void ScalarEvolution::forgetMemoizedResults(const SCEV *S) { in forgetMemoizedResults()