Lines Matching refs:ExitCond
8870 const Loop *L, Value *ExitCond, bool ExitIfTrue, bool ControlsOnlyExit, in computeExitLimitFromCond() argument
8873 return computeExitLimitFromCondCached(Cache, L, ExitCond, ExitIfTrue, in computeExitLimitFromCond()
8878 ScalarEvolution::ExitLimitCache::find(const Loop *L, Value *ExitCond, in find() argument
8888 auto Itr = TripCountMap.find({ExitCond, ControlsOnlyExit}); in find()
8894 void ScalarEvolution::ExitLimitCache::insert(const Loop *L, Value *ExitCond, in insert() argument
8903 auto InsertResult = TripCountMap.insert({{ExitCond, ControlsOnlyExit}, EL}); in insert()
8910 ExitLimitCacheTy &Cache, const Loop *L, Value *ExitCond, bool ExitIfTrue, in computeExitLimitFromCondCached() argument
8913 if (auto MaybeEL = Cache.find(L, ExitCond, ExitIfTrue, ControlsOnlyExit, in computeExitLimitFromCondCached()
8918 Cache, L, ExitCond, ExitIfTrue, ControlsOnlyExit, AllowPredicates); in computeExitLimitFromCondCached()
8919 Cache.insert(L, ExitCond, ExitIfTrue, ControlsOnlyExit, AllowPredicates, EL); in computeExitLimitFromCondCached()
8924 ExitLimitCacheTy &Cache, const Loop *L, Value *ExitCond, bool ExitIfTrue, in computeExitLimitFromCondImpl() argument
8928 Cache, L, ExitCond, ExitIfTrue, ControlsOnlyExit, AllowPredicates)) in computeExitLimitFromCondImpl()
8933 if (ICmpInst *ExitCondICmp = dyn_cast<ICmpInst>(ExitCond)) { in computeExitLimitFromCondImpl()
8949 if (ConstantInt *CI = dyn_cast<ConstantInt>(ExitCond)) { in computeExitLimitFromCondImpl()
8962 if (match(ExitCond, m_ExtractValue<1>(m_WithOverflowInst(WO))) && in computeExitLimitFromCondImpl()
8982 return computeExitCountExhaustively(L, ExitCond, ExitIfTrue); in computeExitLimitFromCondImpl()
8987 ExitLimitCacheTy &Cache, const Loop *L, Value *ExitCond, bool ExitIfTrue, in computeExitLimitFromCondFromBinOp() argument
8992 if (match(ExitCond, m_LogicalAnd(m_Value(Op0), m_Value(Op1)))) in computeExitLimitFromCondFromBinOp()
8994 else if (match(ExitCond, m_LogicalOr(m_Value(Op0), m_Value(Op1)))) in computeExitLimitFromCondFromBinOp()
9011 const Constant *NeutralElement = ConstantInt::get(ExitCond->getType(), IsAnd); in computeExitLimitFromCondFromBinOp()
9021 bool UseSequentialUMin = !isa<BinaryOperator>(ExitCond); in computeExitLimitFromCondFromBinOp()
9067 const Loop *L, ICmpInst *ExitCond, bool ExitIfTrue, bool ControlsOnlyExit, in computeExitLimitFromICmp() argument
9072 Pred = ExitCond->getPredicate(); in computeExitLimitFromICmp()
9074 Pred = ExitCond->getInversePredicate(); in computeExitLimitFromICmp()
9077 const SCEV *LHS = getSCEV(ExitCond->getOperand(0)); in computeExitLimitFromICmp()
9078 const SCEV *RHS = getSCEV(ExitCond->getOperand(1)); in computeExitLimitFromICmp()
9086 computeExitCountExhaustively(L, ExitCond, ExitIfTrue); in computeExitLimitFromICmp()
9091 return computeShiftCompareExitLimit(ExitCond->getOperand(0), in computeExitLimitFromICmp()
9092 ExitCond->getOperand(1), L, OriginalPred); in computeExitLimitFromICmp()