Lines Matching refs:FoundLHS
11280 const SCEV *FoundLHS = getSCEV(ICI->getOperand(0)); in isImpliedCond() local
11283 return isImpliedCond(Pred, LHS, RHS, FoundPred, FoundLHS, FoundRHS, CtxI); in isImpliedCond()
11289 const SCEV *FoundLHS, const SCEV *FoundRHS, in isImpliedCond() argument
11293 getTypeSizeInBits(FoundLHS->getType())) { in isImpliedCond()
11297 if (!CmpInst::isSigned(FoundPred) && !FoundLHS->getType()->isPointerTy() && in isImpliedCond()
11300 auto *WideType = FoundLHS->getType(); in isImpliedCond()
11304 if (isKnownViaNonRecursiveReasoning(ICmpInst::ICMP_ULE, FoundLHS, in isImpliedCond()
11308 const SCEV *TruncFoundLHS = getTruncateExpr(FoundLHS, NarrowType); in isImpliedCond()
11319 LHS = getSignExtendExpr(LHS, FoundLHS->getType()); in isImpliedCond()
11320 RHS = getSignExtendExpr(RHS, FoundLHS->getType()); in isImpliedCond()
11322 LHS = getZeroExtendExpr(LHS, FoundLHS->getType()); in isImpliedCond()
11323 RHS = getZeroExtendExpr(RHS, FoundLHS->getType()); in isImpliedCond()
11326 getTypeSizeInBits(FoundLHS->getType())) { in isImpliedCond()
11327 if (FoundLHS->getType()->isPointerTy() || FoundRHS->getType()->isPointerTy()) in isImpliedCond()
11330 FoundLHS = getSignExtendExpr(FoundLHS, LHS->getType()); in isImpliedCond()
11333 FoundLHS = getZeroExtendExpr(FoundLHS, LHS->getType()); in isImpliedCond()
11337 return isImpliedCondBalancedTypes(Pred, LHS, RHS, FoundPred, FoundLHS, in isImpliedCond()
11343 ICmpInst::Predicate FoundPred, const SCEV *FoundLHS, const SCEV *FoundRHS, in isImpliedCondBalancedTypes() argument
11346 getTypeSizeInBits(FoundLHS->getType()) && in isImpliedCondBalancedTypes()
11353 if (SimplifyICmpOperands(FoundPred, FoundLHS, FoundRHS)) in isImpliedCondBalancedTypes()
11354 if (FoundLHS == FoundRHS) in isImpliedCondBalancedTypes()
11358 if (LHS == FoundRHS || RHS == FoundLHS) { in isImpliedCondBalancedTypes()
11360 std::swap(FoundLHS, FoundRHS); in isImpliedCondBalancedTypes()
11370 return isImpliedCondOperands(Pred, LHS, RHS, FoundLHS, FoundRHS, CtxI); in isImpliedCondBalancedTypes()
11385 return isImpliedCondOperands(FoundPred, RHS, LHS, FoundLHS, FoundRHS, in isImpliedCondBalancedTypes()
11387 if (!isa<SCEVConstant>(FoundRHS) && !isa<SCEVAddRecExpr>(FoundLHS)) in isImpliedCondBalancedTypes()
11388 return isImpliedCondOperands(Pred, LHS, RHS, FoundRHS, FoundLHS, CtxI); in isImpliedCondBalancedTypes()
11395 FoundLHS, FoundRHS, CtxI)) in isImpliedCondBalancedTypes()
11398 if (!FoundLHS->getType()->isPointerTy() && in isImpliedCondBalancedTypes()
11400 isImpliedCondOperands(Pred, LHS, RHS, getNotSCEV(FoundLHS), in isImpliedCondBalancedTypes()
11416 if ((isKnownNonNegative(FoundLHS) && isKnownNonNegative(FoundRHS)) || in isImpliedCondBalancedTypes()
11417 (isKnownNegative(FoundLHS) && isKnownNegative(FoundRHS))) in isImpliedCondBalancedTypes()
11418 return isImpliedCondOperands(Pred, LHS, RHS, FoundLHS, FoundRHS, CtxI); in isImpliedCondBalancedTypes()
11423 *CanonicalFoundLHS = FoundLHS, *CanonicalFoundRHS = FoundRHS; in isImpliedCondBalancedTypes()
11453 (isa<SCEVConstant>(FoundLHS) || isa<SCEVConstant>(FoundRHS))) { in isImpliedCondBalancedTypes()
11458 if (isa<SCEVConstant>(FoundLHS)) { in isImpliedCondBalancedTypes()
11459 C = cast<SCEVConstant>(FoundLHS); in isImpliedCondBalancedTypes()
11463 V = FoundLHS; in isImpliedCondBalancedTypes()
11531 if (isImpliedCondOperands(Pred, LHS, RHS, FoundLHS, FoundRHS, CtxI)) in isImpliedCondBalancedTypes()
11535 if (isImpliedCondOperands(FoundPred, LHS, RHS, FoundLHS, FoundRHS, CtxI)) in isImpliedCondBalancedTypes()
11616 const SCEV *FoundLHS, const SCEV *FoundRHS, const Instruction *CtxI) { in isImpliedCondOperandsViaAddRecStart() argument
11634 if (auto *AR = dyn_cast<SCEVAddRecExpr>(FoundLHS)) { in isImpliedCondOperandsViaAddRecStart()
11651 if (!isAvailableAtLoopEntry(FoundLHS, AR->getLoop())) in isImpliedCondOperandsViaAddRecStart()
11653 return isImpliedCondOperands(Pred, LHS, RHS, FoundLHS, AR->getStart()); in isImpliedCondOperandsViaAddRecStart()
11661 const SCEV *FoundLHS, const SCEV *FoundRHS) { in isImpliedCondOperandsViaNoOverflow() argument
11669 const auto *AddRecFoundLHS = dyn_cast<SCEVAddRecExpr>(FoundLHS); in isImpliedCondOperandsViaNoOverflow()
11713 Optional<APInt> LDiff = computeConstantDifference(LHS, FoundLHS); in isImpliedCondOperandsViaNoOverflow()
11738 const SCEV *FoundLHS, in isImpliedViaMerge() argument
11784 std::swap(FoundLHS, FoundRHS); in isImpliedViaMerge()
11795 isImpliedCondOperandsViaRanges(Pred, S1, S2, FoundLHS, FoundRHS) || in isImpliedViaMerge()
11796 isImpliedViaOperations(Pred, S1, S2, FoundLHS, FoundRHS, Depth); in isImpliedViaMerge()
11853 const SCEV *FoundLHS, in isImpliedCondOperandsViaShift() argument
11859 std::swap(FoundLHS, FoundRHS); in isImpliedCondOperandsViaShift()
11862 if (LHS != FoundLHS) in isImpliedCondOperandsViaShift()
11894 const SCEV *FoundLHS, in isImpliedCondOperands() argument
11897 if (isImpliedCondOperandsViaRanges(Pred, LHS, RHS, FoundLHS, FoundRHS)) in isImpliedCondOperands()
11900 if (isImpliedCondOperandsViaNoOverflow(Pred, LHS, RHS, FoundLHS, FoundRHS)) in isImpliedCondOperands()
11903 if (isImpliedCondOperandsViaShift(Pred, LHS, RHS, FoundLHS, FoundRHS)) in isImpliedCondOperands()
11906 if (isImpliedCondOperandsViaAddRecStart(Pred, LHS, RHS, FoundLHS, FoundRHS, in isImpliedCondOperands()
11911 FoundLHS, FoundRHS); in isImpliedCondOperands()
11993 const SCEV *FoundLHS, in isImpliedViaOperations() argument
11999 assert(getTypeSizeInBits(FoundLHS->getType()) == in isImpliedViaOperations()
12010 std::swap(FoundLHS, FoundRHS); in isImpliedViaOperations()
12018 if (isKnownNonNegative(FoundLHS) && isKnownNonNegative(FoundRHS)) { in isImpliedViaOperations()
12023 if (isImpliedCondOperands(ICmpInst::ICMP_SGT, LHS, MinusOne, FoundLHS, in isImpliedViaOperations()
12025 isImpliedCondOperands(ICmpInst::ICMP_SGT, RHS, MinusOne, FoundLHS, in isImpliedViaOperations()
12043 auto *OrigFoundLHS = FoundLHS; in isImpliedViaOperations()
12045 FoundLHS = GetOpFromSExt(FoundLHS); in isImpliedViaOperations()
12103 if (!Numerator || Numerator->getType() != FoundLHS->getType()) in isImpliedViaOperations()
12108 if (!HasSameValue(Numerator, FoundLHS) || !isKnownPositive(Denominator)) in isImpliedViaOperations()
12204 const SCEV *FoundLHS, in isImpliedCondOperandsHelper() argument
12210 if (HasSameValue(LHS, FoundLHS) && HasSameValue(RHS, FoundRHS)) in isImpliedCondOperandsHelper()
12215 if (isKnownViaNonRecursiveReasoning(ICmpInst::ICMP_SLE, LHS, FoundLHS) && in isImpliedCondOperandsHelper()
12221 if (isKnownViaNonRecursiveReasoning(ICmpInst::ICMP_SGE, LHS, FoundLHS) && in isImpliedCondOperandsHelper()
12227 if (isKnownViaNonRecursiveReasoning(ICmpInst::ICMP_ULE, LHS, FoundLHS) && in isImpliedCondOperandsHelper()
12233 if (isKnownViaNonRecursiveReasoning(ICmpInst::ICMP_UGE, LHS, FoundLHS) && in isImpliedCondOperandsHelper()
12240 if (isImpliedViaOperations(Pred, LHS, RHS, FoundLHS, FoundRHS)) in isImpliedCondOperandsHelper()
12249 const SCEV *FoundLHS, in isImpliedCondOperandsViaRanges() argument
12256 Optional<APInt> Addend = computeConstantDifference(LHS, FoundLHS); in isImpliedCondOperandsViaRanges()