Lines Matching defs:Checks
199 bool canBeHoistedTo(const SmallVectorImpl<Value *> &Checks,
201 return all_of(Checks,
208 void makeAvailableAt(const SmallVectorImpl<Value *> &Checks,
210 for (Value *V : Checks)
275 /// append them to \p Checks. Returns true on success, may clobber \c Checks
278 SmallVectorImpl<RangeCheck> &Checks) {
280 if (!parseRangeChecks(CheckCond, Checks))
286 bool parseRangeChecks(Value *CheckCond, SmallVectorImpl<RangeCheck> &Checks);
288 /// Combine the checks in \p Checks into a smaller set of checks and append
290 /// in \p Checks were combined into \p CombinedChecks). Clobbers \p Checks
292 bool combineRangeChecks(SmallVectorImpl<RangeCheck> &Checks,
766 SmallVector<GuardWideningImpl::RangeCheck, 4> Checks, CombinedChecks;
767 if (parseRangeChecks(ChecksToWiden, Checks) &&
768 parseRangeChecks(ChecksToHoist, Checks) &&
769 combineRangeChecks(Checks, CombinedChecks)) {
806 Value *CheckCond, SmallVectorImpl<GuardWideningImpl::RangeCheck> &Checks) {
862 Checks.push_back(Check);
867 SmallVectorImpl<GuardWideningImpl::RangeCheck> &Checks,
869 unsigned OldCount = Checks.size();
870 while (!Checks.empty()) {
873 const Value *CurrentBase = Checks.front().getBase();
874 const Value *CurrentLength = Checks.front().getLength();
882 copy_if(Checks, std::back_inserter(CurrentChecks), IsCurrentCheck);
883 erase_if(Checks, IsCurrentCheck);