Lines Matching defs:GuardWideningImpl
134 class GuardWideningImpl {
322 explicit GuardWideningImpl(DominatorTree &DT, PostDominatorTree *PDT,
342 bool GuardWideningImpl::run() {
377 bool GuardWideningImpl::eliminateInstrViaWidening(
460 GuardWideningImpl::WideningScore GuardWideningImpl::computeWideningScore(
480 // Further in the GuardWideningImpl::hoistChecks the entire condition might be
564 bool GuardWideningImpl::canBeHoistedTo(
586 void GuardWideningImpl::makeAvailableAt(Value *V,
628 Value *GuardWideningImpl::freezeAndPush(Value *Orig,
721 GuardWideningImpl::mergeChecks(SmallVectorImpl<Value *> &ChecksToHoist,
767 SmallVector<GuardWideningImpl::RangeCheck, 4> Checks, CombinedChecks;
792 Value *GuardWideningImpl::hoistChecks(SmallVectorImpl<Value *> &ChecksToHoist,
806 bool GuardWideningImpl::parseRangeChecks(
807 Value *CheckCond, SmallVectorImpl<GuardWideningImpl::RangeCheck> &Checks) {
822 GuardWideningImpl::RangeCheck Check(
867 bool GuardWideningImpl::combineRangeChecks(
868 SmallVectorImpl<GuardWideningImpl::RangeCheck> &Checks,
869 SmallVectorImpl<GuardWideningImpl::RangeCheck> &RangeChecksOut) const {
877 SmallVector<GuardWideningImpl::RangeCheck, 3> CurrentChecks;
879 auto IsCurrentCheck = [&](GuardWideningImpl::RangeCheck &RC) {
896 llvm::sort(CurrentChecks, [&](const GuardWideningImpl::RangeCheck &LHS,
897 const GuardWideningImpl::RangeCheck &RHS) {
913 auto OffsetOK = [&](const GuardWideningImpl::RangeCheck &RC) {
964 StringRef GuardWideningImpl::scoreTypeToString(WideningScore WS) {
999 if (!GuardWideningImpl(DT, &PDT, LI, AC, MSSAU ? MSSAU.get() : nullptr,
1022 if (!GuardWideningImpl(AR.DT, nullptr, AR.LI, AR.AC,