Lines Matching refs:FoundLHS
10112 const SCEV *FoundLHS = getSCEV(ICI->getOperand(0)); in isImpliedCond() local
10115 return isImpliedCond(Pred, LHS, RHS, FoundPred, FoundLHS, FoundRHS, Context); in isImpliedCond()
10121 const SCEV *FoundLHS, const SCEV *FoundRHS, in isImpliedCond() argument
10125 getTypeSizeInBits(FoundLHS->getType())) { in isImpliedCond()
10131 auto *WideType = FoundLHS->getType(); in isImpliedCond()
10135 if (isKnownPredicate(ICmpInst::ICMP_ULE, FoundLHS, MaxValue) && in isImpliedCond()
10137 const SCEV *TruncFoundLHS = getTruncateExpr(FoundLHS, NarrowType); in isImpliedCond()
10146 LHS = getSignExtendExpr(LHS, FoundLHS->getType()); in isImpliedCond()
10147 RHS = getSignExtendExpr(RHS, FoundLHS->getType()); in isImpliedCond()
10149 LHS = getZeroExtendExpr(LHS, FoundLHS->getType()); in isImpliedCond()
10150 RHS = getZeroExtendExpr(RHS, FoundLHS->getType()); in isImpliedCond()
10153 getTypeSizeInBits(FoundLHS->getType())) { in isImpliedCond()
10155 FoundLHS = getSignExtendExpr(FoundLHS, LHS->getType()); in isImpliedCond()
10158 FoundLHS = getZeroExtendExpr(FoundLHS, LHS->getType()); in isImpliedCond()
10162 return isImpliedCondBalancedTypes(Pred, LHS, RHS, FoundPred, FoundLHS, in isImpliedCond()
10168 ICmpInst::Predicate FoundPred, const SCEV *FoundLHS, const SCEV *FoundRHS, in isImpliedCondBalancedTypes() argument
10171 getTypeSizeInBits(FoundLHS->getType()) && in isImpliedCondBalancedTypes()
10178 if (SimplifyICmpOperands(FoundPred, FoundLHS, FoundRHS)) in isImpliedCondBalancedTypes()
10179 if (FoundLHS == FoundRHS) in isImpliedCondBalancedTypes()
10183 if (LHS == FoundRHS || RHS == FoundLHS) { in isImpliedCondBalancedTypes()
10185 std::swap(FoundLHS, FoundRHS); in isImpliedCondBalancedTypes()
10195 return isImpliedCondOperands(Pred, LHS, RHS, FoundLHS, FoundRHS, Context); in isImpliedCondBalancedTypes()
10201 return isImpliedCondOperands(Pred, LHS, RHS, FoundRHS, FoundLHS, Context); in isImpliedCondBalancedTypes()
10204 LHS, FoundLHS, FoundRHS, Context); in isImpliedCondBalancedTypes()
10211 isKnownNonNegative(FoundLHS) && isKnownNonNegative(FoundRHS)) in isImpliedCondBalancedTypes()
10212 return isImpliedCondOperands(Pred, LHS, RHS, FoundLHS, FoundRHS, Context); in isImpliedCondBalancedTypes()
10216 (isa<SCEVConstant>(FoundLHS) || isa<SCEVConstant>(FoundRHS))) { in isImpliedCondBalancedTypes()
10221 if (isa<SCEVConstant>(FoundLHS)) { in isImpliedCondBalancedTypes()
10222 C = cast<SCEVConstant>(FoundLHS); in isImpliedCondBalancedTypes()
10226 V = FoundLHS; in isImpliedCondBalancedTypes()
10295 if (isImpliedCondOperands(Pred, LHS, RHS, FoundLHS, FoundRHS, Context)) in isImpliedCondBalancedTypes()
10299 if (isImpliedCondOperands(FoundPred, LHS, RHS, FoundLHS, FoundRHS, in isImpliedCondBalancedTypes()
10381 const SCEV *FoundLHS, const SCEV *FoundRHS, const Instruction *Context) { in isImpliedCondOperandsViaAddRecStart() argument
10399 if (auto *AR = dyn_cast<SCEVAddRecExpr>(FoundLHS)) { in isImpliedCondOperandsViaAddRecStart()
10416 if (!isAvailableAtLoopEntry(FoundLHS, AR->getLoop())) in isImpliedCondOperandsViaAddRecStart()
10418 return isImpliedCondOperands(Pred, LHS, RHS, FoundLHS, AR->getStart()); in isImpliedCondOperandsViaAddRecStart()
10426 const SCEV *FoundLHS, const SCEV *FoundRHS) { in isImpliedCondOperandsViaNoOverflow() argument
10434 const auto *AddRecFoundLHS = dyn_cast<SCEVAddRecExpr>(FoundLHS); in isImpliedCondOperandsViaNoOverflow()
10478 Optional<APInt> LDiff = computeConstantDifference(LHS, FoundLHS); in isImpliedCondOperandsViaNoOverflow()
10503 const SCEV *FoundLHS, in isImpliedViaMerge() argument
10549 std::swap(FoundLHS, FoundRHS); in isImpliedViaMerge()
10560 isImpliedCondOperandsViaRanges(Pred, S1, S2, FoundLHS, FoundRHS) || in isImpliedViaMerge()
10561 isImpliedViaOperations(Pred, S1, S2, FoundLHS, FoundRHS, Depth); in isImpliedViaMerge()
10613 const SCEV *FoundLHS, in isImpliedCondOperands() argument
10616 if (isImpliedCondOperandsViaRanges(Pred, LHS, RHS, FoundLHS, FoundRHS)) in isImpliedCondOperands()
10619 if (isImpliedCondOperandsViaNoOverflow(Pred, LHS, RHS, FoundLHS, FoundRHS)) in isImpliedCondOperands()
10622 if (isImpliedCondOperandsViaAddRecStart(Pred, LHS, RHS, FoundLHS, FoundRHS, in isImpliedCondOperands()
10627 FoundLHS, FoundRHS) || in isImpliedCondOperands()
10631 getNotSCEV(FoundLHS)); in isImpliedCondOperands()
10712 const SCEV *FoundLHS, in isImpliedViaOperations() argument
10718 assert(getTypeSizeInBits(FoundLHS->getType()) == in isImpliedViaOperations()
10729 std::swap(FoundLHS, FoundRHS); in isImpliedViaOperations()
10737 if (isKnownNonNegative(FoundLHS) && isKnownNonNegative(FoundRHS)) { in isImpliedViaOperations()
10742 if (isImpliedCondOperands(ICmpInst::ICMP_SGT, LHS, MinusOne, FoundLHS, in isImpliedViaOperations()
10744 isImpliedCondOperands(ICmpInst::ICMP_SGT, RHS, MinusOne, FoundLHS, in isImpliedViaOperations()
10762 auto *OrigFoundLHS = FoundLHS; in isImpliedViaOperations()
10764 FoundLHS = GetOpFromSExt(FoundLHS); in isImpliedViaOperations()
10822 if (!Numerator || Numerator->getType() != FoundLHS->getType()) in isImpliedViaOperations()
10827 if (!HasSameValue(Numerator, FoundLHS) || !isKnownPositive(Denominator)) in isImpliedViaOperations()
10923 const SCEV *FoundLHS, in isImpliedCondOperandsHelper() argument
10929 if (HasSameValue(LHS, FoundLHS) && HasSameValue(RHS, FoundRHS)) in isImpliedCondOperandsHelper()
10934 if (isKnownViaNonRecursiveReasoning(ICmpInst::ICMP_SLE, LHS, FoundLHS) && in isImpliedCondOperandsHelper()
10940 if (isKnownViaNonRecursiveReasoning(ICmpInst::ICMP_SGE, LHS, FoundLHS) && in isImpliedCondOperandsHelper()
10946 if (isKnownViaNonRecursiveReasoning(ICmpInst::ICMP_ULE, LHS, FoundLHS) && in isImpliedCondOperandsHelper()
10952 if (isKnownViaNonRecursiveReasoning(ICmpInst::ICMP_UGE, LHS, FoundLHS) && in isImpliedCondOperandsHelper()
10959 if (isImpliedViaOperations(Pred, LHS, RHS, FoundLHS, FoundRHS)) in isImpliedCondOperandsHelper()
10968 const SCEV *FoundLHS, in isImpliedCondOperandsViaRanges() argument
10975 Optional<APInt> Addend = computeConstantDifference(LHS, FoundLHS); in isImpliedCondOperandsViaRanges()