Lines Matching refs:FoundLHS

11588   const SCEV *FoundLHS = getSCEV(ICI->getOperand(0));  in isImpliedCond()  local
11591 return isImpliedCond(Pred, LHS, RHS, FoundPred, FoundLHS, FoundRHS, CtxI); in isImpliedCond()
11597 const SCEV *FoundLHS, const SCEV *FoundRHS, in isImpliedCond() argument
11601 getTypeSizeInBits(FoundLHS->getType())) { in isImpliedCond()
11605 if (!CmpInst::isSigned(FoundPred) && !FoundLHS->getType()->isPointerTy() && in isImpliedCond()
11608 auto *WideType = FoundLHS->getType(); in isImpliedCond()
11612 if (isKnownViaNonRecursiveReasoning(ICmpInst::ICMP_ULE, FoundLHS, in isImpliedCond()
11616 const SCEV *TruncFoundLHS = getTruncateExpr(FoundLHS, NarrowType); in isImpliedCond()
11627 LHS = getSignExtendExpr(LHS, FoundLHS->getType()); in isImpliedCond()
11628 RHS = getSignExtendExpr(RHS, FoundLHS->getType()); in isImpliedCond()
11630 LHS = getZeroExtendExpr(LHS, FoundLHS->getType()); in isImpliedCond()
11631 RHS = getZeroExtendExpr(RHS, FoundLHS->getType()); in isImpliedCond()
11634 getTypeSizeInBits(FoundLHS->getType())) { in isImpliedCond()
11635 if (FoundLHS->getType()->isPointerTy() || FoundRHS->getType()->isPointerTy()) in isImpliedCond()
11638 FoundLHS = getSignExtendExpr(FoundLHS, LHS->getType()); in isImpliedCond()
11641 FoundLHS = getZeroExtendExpr(FoundLHS, LHS->getType()); in isImpliedCond()
11645 return isImpliedCondBalancedTypes(Pred, LHS, RHS, FoundPred, FoundLHS, in isImpliedCond()
11651 ICmpInst::Predicate FoundPred, const SCEV *FoundLHS, const SCEV *FoundRHS, in isImpliedCondBalancedTypes() argument
11654 getTypeSizeInBits(FoundLHS->getType()) && in isImpliedCondBalancedTypes()
11661 if (SimplifyICmpOperands(FoundPred, FoundLHS, FoundRHS)) in isImpliedCondBalancedTypes()
11662 if (FoundLHS == FoundRHS) in isImpliedCondBalancedTypes()
11666 if (LHS == FoundRHS || RHS == FoundLHS) { in isImpliedCondBalancedTypes()
11668 std::swap(FoundLHS, FoundRHS); in isImpliedCondBalancedTypes()
11678 return isImpliedCondOperands(Pred, LHS, RHS, FoundLHS, FoundRHS, CtxI); in isImpliedCondBalancedTypes()
11693 return isImpliedCondOperands(FoundPred, RHS, LHS, FoundLHS, FoundRHS, in isImpliedCondBalancedTypes()
11695 if (!isa<SCEVConstant>(FoundRHS) && !isa<SCEVAddRecExpr>(FoundLHS)) in isImpliedCondBalancedTypes()
11696 return isImpliedCondOperands(Pred, LHS, RHS, FoundRHS, FoundLHS, CtxI); in isImpliedCondBalancedTypes()
11703 FoundLHS, FoundRHS, CtxI)) in isImpliedCondBalancedTypes()
11706 if (!FoundLHS->getType()->isPointerTy() && in isImpliedCondBalancedTypes()
11708 isImpliedCondOperands(Pred, LHS, RHS, getNotSCEV(FoundLHS), in isImpliedCondBalancedTypes()
11724 if ((isKnownNonNegative(FoundLHS) && isKnownNonNegative(FoundRHS)) || in isImpliedCondBalancedTypes()
11725 (isKnownNegative(FoundLHS) && isKnownNegative(FoundRHS))) in isImpliedCondBalancedTypes()
11726 return isImpliedCondOperands(Pred, LHS, RHS, FoundLHS, FoundRHS, CtxI); in isImpliedCondBalancedTypes()
11731 *CanonicalFoundLHS = FoundLHS, *CanonicalFoundRHS = FoundRHS; in isImpliedCondBalancedTypes()
11761 (isa<SCEVConstant>(FoundLHS) || isa<SCEVConstant>(FoundRHS))) { in isImpliedCondBalancedTypes()
11766 if (isa<SCEVConstant>(FoundLHS)) { in isImpliedCondBalancedTypes()
11767 C = cast<SCEVConstant>(FoundLHS); in isImpliedCondBalancedTypes()
11771 V = FoundLHS; in isImpliedCondBalancedTypes()
11839 if (isImpliedCondOperands(Pred, LHS, RHS, FoundLHS, FoundRHS, CtxI)) in isImpliedCondBalancedTypes()
11843 if (isImpliedCondOperands(FoundPred, LHS, RHS, FoundLHS, FoundRHS, CtxI)) in isImpliedCondBalancedTypes()
11846 if (isImpliedCondOperandsViaRanges(Pred, LHS, RHS, FoundPred, FoundLHS, FoundRHS)) in isImpliedCondBalancedTypes()
11927 const SCEV *FoundLHS, const SCEV *FoundRHS, const Instruction *CtxI) { in isImpliedCondOperandsViaAddRecStart() argument
11945 if (auto *AR = dyn_cast<SCEVAddRecExpr>(FoundLHS)) { in isImpliedCondOperandsViaAddRecStart()
11962 if (!isAvailableAtLoopEntry(FoundLHS, AR->getLoop())) in isImpliedCondOperandsViaAddRecStart()
11964 return isImpliedCondOperands(Pred, LHS, RHS, FoundLHS, AR->getStart()); in isImpliedCondOperandsViaAddRecStart()
11972 const SCEV *FoundLHS, const SCEV *FoundRHS) { in isImpliedCondOperandsViaNoOverflow() argument
11980 const auto *AddRecFoundLHS = dyn_cast<SCEVAddRecExpr>(FoundLHS); in isImpliedCondOperandsViaNoOverflow()
12024 std::optional<APInt> LDiff = computeConstantDifference(LHS, FoundLHS); in isImpliedCondOperandsViaNoOverflow()
12049 const SCEV *FoundLHS, in isImpliedViaMerge() argument
12095 std::swap(FoundLHS, FoundRHS); in isImpliedViaMerge()
12106 isImpliedCondOperandsViaRanges(Pred, S1, S2, Pred, FoundLHS, FoundRHS) || in isImpliedViaMerge()
12107 isImpliedViaOperations(Pred, S1, S2, FoundLHS, FoundRHS, Depth); in isImpliedViaMerge()
12164 const SCEV *FoundLHS, in isImpliedCondOperandsViaShift() argument
12170 std::swap(FoundLHS, FoundRHS); in isImpliedCondOperandsViaShift()
12173 if (LHS != FoundLHS) in isImpliedCondOperandsViaShift()
12205 const SCEV *FoundLHS, in isImpliedCondOperands() argument
12208 if (isImpliedCondOperandsViaRanges(Pred, LHS, RHS, Pred, FoundLHS, FoundRHS)) in isImpliedCondOperands()
12211 if (isImpliedCondOperandsViaNoOverflow(Pred, LHS, RHS, FoundLHS, FoundRHS)) in isImpliedCondOperands()
12214 if (isImpliedCondOperandsViaShift(Pred, LHS, RHS, FoundLHS, FoundRHS)) in isImpliedCondOperands()
12217 if (isImpliedCondOperandsViaAddRecStart(Pred, LHS, RHS, FoundLHS, FoundRHS, in isImpliedCondOperands()
12222 FoundLHS, FoundRHS); in isImpliedCondOperands()
12304 const SCEV *FoundLHS, in isImpliedViaOperations() argument
12310 assert(getTypeSizeInBits(FoundLHS->getType()) == in isImpliedViaOperations()
12321 std::swap(FoundLHS, FoundRHS); in isImpliedViaOperations()
12329 if (isKnownNonNegative(FoundLHS) && isKnownNonNegative(FoundRHS)) { in isImpliedViaOperations()
12334 if (isImpliedCondOperands(ICmpInst::ICMP_SGT, LHS, MinusOne, FoundLHS, in isImpliedViaOperations()
12336 isImpliedCondOperands(ICmpInst::ICMP_SGT, RHS, MinusOne, FoundLHS, in isImpliedViaOperations()
12354 auto *OrigFoundLHS = FoundLHS; in isImpliedViaOperations()
12356 FoundLHS = GetOpFromSExt(FoundLHS); in isImpliedViaOperations()
12414 if (!Numerator || Numerator->getType() != FoundLHS->getType()) in isImpliedViaOperations()
12419 if (!HasSameValue(Numerator, FoundLHS) || !isKnownPositive(Denominator)) in isImpliedViaOperations()
12515 const SCEV *FoundLHS, in isImpliedCondOperandsHelper() argument
12521 if (HasSameValue(LHS, FoundLHS) && HasSameValue(RHS, FoundRHS)) in isImpliedCondOperandsHelper()
12526 if (isKnownViaNonRecursiveReasoning(ICmpInst::ICMP_SLE, LHS, FoundLHS) && in isImpliedCondOperandsHelper()
12532 if (isKnownViaNonRecursiveReasoning(ICmpInst::ICMP_SGE, LHS, FoundLHS) && in isImpliedCondOperandsHelper()
12538 if (isKnownViaNonRecursiveReasoning(ICmpInst::ICMP_ULE, LHS, FoundLHS) && in isImpliedCondOperandsHelper()
12544 if (isKnownViaNonRecursiveReasoning(ICmpInst::ICMP_UGE, LHS, FoundLHS) && in isImpliedCondOperandsHelper()
12551 if (isImpliedViaOperations(Pred, LHS, RHS, FoundLHS, FoundRHS)) in isImpliedCondOperandsHelper()
12561 const SCEV *FoundLHS, in isImpliedCondOperandsViaRanges() argument
12568 std::optional<APInt> Addend = computeConstantDifference(LHS, FoundLHS); in isImpliedCondOperandsViaRanges()