Lines Matching refs:Guards
10495 LoopGuards Guards = LoopGuards::collect(L, *this); in howFarToZero() local
10497 const SCEV *StepWLG = applyLoopGuards(Step, Guards); in howFarToZero()
10514 APInt MaxBECount = getUnsignedRangeMax(applyLoopGuards(Distance, Guards)); in howFarToZero()
10555 APInt MaxInt = getUnsignedRangeMax(applyLoopGuards(Exact, Guards)); in howFarToZero()
10572 APInt MaxWithGuards = getUnsignedRangeMax(applyLoopGuards(E, Guards)); in howFarToZero()
15094 LoopGuards Guards(SE); in collect() local
15492 CollectCondition(Predicate, LHS, RHS, Guards.RewriteMap); in collect()
15508 Guards.PreserveNUW = true; in collect()
15509 Guards.PreserveNSW = true; in collect()
15511 const SCEV *RewriteTo = Guards.RewriteMap[Expr]; in collect()
15512 Guards.PreserveNUW &= in collect()
15514 Guards.PreserveNSW &= in collect()
15523 const SCEV *RewriteTo = Guards.RewriteMap[Expr]; in collect()
15524 Guards.RewriteMap.erase(Expr); in collect()
15525 Guards.RewriteMap.insert({Expr, Guards.rewrite(RewriteTo)}); in collect()
15528 return Guards; in collect()
15543 const ScalarEvolution::LoopGuards &Guards) in rewrite() argument
15544 : SCEVRewriteVisitor(SE), Map(Guards.RewriteMap) { in rewrite()
15545 if (Guards.PreserveNUW) in rewrite()
15547 if (Guards.PreserveNSW) in rewrite()
15651 const LoopGuards &Guards) { in applyLoopGuards() argument
15652 return Guards.rewrite(Expr); in applyLoopGuards()