Lines Matching defs:Checks
200 bool canBeHoistedTo(const SmallVectorImpl<Value *> &Checks,
202 return all_of(Checks,
209 void makeAvailableAt(const SmallVectorImpl<Value *> &Checks,
211 for (Value *V : Checks)
276 /// append them to \p Checks. Returns true on success, may clobber \c Checks
279 SmallVectorImpl<RangeCheck> &Checks) {
281 if (!parseRangeChecks(CheckCond, Checks))
287 bool parseRangeChecks(Value *CheckCond, SmallVectorImpl<RangeCheck> &Checks);
289 /// Combine the checks in \p Checks into a smaller set of checks and append
291 /// in \p Checks were combined into \p CombinedChecks). Clobbers \p Checks
293 bool combineRangeChecks(SmallVectorImpl<RangeCheck> &Checks,
767 SmallVector<GuardWideningImpl::RangeCheck, 4> Checks, CombinedChecks;
768 if (parseRangeChecks(ChecksToWiden, Checks) &&
769 parseRangeChecks(ChecksToHoist, Checks) &&
770 combineRangeChecks(Checks, CombinedChecks)) {
807 Value *CheckCond, SmallVectorImpl<GuardWideningImpl::RangeCheck> &Checks) {
863 Checks.push_back(Check);
868 SmallVectorImpl<GuardWideningImpl::RangeCheck> &Checks,
870 unsigned OldCount = Checks.size();
871 while (!Checks.empty()) {
874 const Value *CurrentBase = Checks.front().getBase();
875 const Value *CurrentLength = Checks.front().getLength();
883 copy_if(Checks, std::back_inserter(CurrentChecks), IsCurrentCheck);
884 erase_if(Checks, IsCurrentCheck);