Lines Matching refs:ExitCond
8914 const Loop *L, Value *ExitCond, bool ExitIfTrue, bool ControlsOnlyExit, in computeExitLimitFromCond() argument
8917 return computeExitLimitFromCondCached(Cache, L, ExitCond, ExitIfTrue, in computeExitLimitFromCond()
8922 ScalarEvolution::ExitLimitCache::find(const Loop *L, Value *ExitCond, in find() argument
8932 auto Itr = TripCountMap.find({ExitCond, ControlsOnlyExit}); in find()
8938 void ScalarEvolution::ExitLimitCache::insert(const Loop *L, Value *ExitCond, in insert() argument
8947 auto InsertResult = TripCountMap.insert({{ExitCond, ControlsOnlyExit}, EL}); in insert()
8954 ExitLimitCacheTy &Cache, const Loop *L, Value *ExitCond, bool ExitIfTrue, in computeExitLimitFromCondCached() argument
8957 if (auto MaybeEL = Cache.find(L, ExitCond, ExitIfTrue, ControlsOnlyExit, in computeExitLimitFromCondCached()
8962 Cache, L, ExitCond, ExitIfTrue, ControlsOnlyExit, AllowPredicates); in computeExitLimitFromCondCached()
8963 Cache.insert(L, ExitCond, ExitIfTrue, ControlsOnlyExit, AllowPredicates, EL); in computeExitLimitFromCondCached()
8968 ExitLimitCacheTy &Cache, const Loop *L, Value *ExitCond, bool ExitIfTrue, in computeExitLimitFromCondImpl() argument
8972 Cache, L, ExitCond, ExitIfTrue, ControlsOnlyExit, AllowPredicates)) in computeExitLimitFromCondImpl()
8977 if (ICmpInst *ExitCondICmp = dyn_cast<ICmpInst>(ExitCond)) { in computeExitLimitFromCondImpl()
8993 if (ConstantInt *CI = dyn_cast<ConstantInt>(ExitCond)) { in computeExitLimitFromCondImpl()
9006 if (match(ExitCond, m_ExtractValue<1>(m_WithOverflowInst(WO))) && in computeExitLimitFromCondImpl()
9026 return computeExitCountExhaustively(L, ExitCond, ExitIfTrue); in computeExitLimitFromCondImpl()
9031 ExitLimitCacheTy &Cache, const Loop *L, Value *ExitCond, bool ExitIfTrue, in computeExitLimitFromCondFromBinOp() argument
9036 if (match(ExitCond, m_LogicalAnd(m_Value(Op0), m_Value(Op1)))) in computeExitLimitFromCondFromBinOp()
9038 else if (match(ExitCond, m_LogicalOr(m_Value(Op0), m_Value(Op1)))) in computeExitLimitFromCondFromBinOp()
9055 const Constant *NeutralElement = ConstantInt::get(ExitCond->getType(), IsAnd); in computeExitLimitFromCondFromBinOp()
9065 bool UseSequentialUMin = !isa<BinaryOperator>(ExitCond); in computeExitLimitFromCondFromBinOp()
9111 const Loop *L, ICmpInst *ExitCond, bool ExitIfTrue, bool ControlsOnlyExit, in computeExitLimitFromICmp() argument
9116 Pred = ExitCond->getPredicate(); in computeExitLimitFromICmp()
9118 Pred = ExitCond->getInversePredicate(); in computeExitLimitFromICmp()
9121 const SCEV *LHS = getSCEV(ExitCond->getOperand(0)); in computeExitLimitFromICmp()
9122 const SCEV *RHS = getSCEV(ExitCond->getOperand(1)); in computeExitLimitFromICmp()
9130 computeExitCountExhaustively(L, ExitCond, ExitIfTrue); in computeExitLimitFromICmp()
9135 return computeShiftCompareExitLimit(ExitCond->getOperand(0), in computeExitLimitFromICmp()
9136 ExitCond->getOperand(1), L, OriginalPred); in computeExitLimitFromICmp()