Lines Matching refs:FoundRHS
11281 const SCEV *FoundRHS = getSCEV(ICI->getOperand(1)); 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
11298 !FoundRHS->getType()->isPointerTy()) { in isImpliedCond()
11306 isKnownViaNonRecursiveReasoning(ICmpInst::ICMP_ULE, FoundRHS, in isImpliedCond()
11309 const SCEV *TruncFoundRHS = getTruncateExpr(FoundRHS, NarrowType); in isImpliedCond()
11327 if (FoundLHS->getType()->isPointerTy() || FoundRHS->getType()->isPointerTy()) in isImpliedCond()
11331 FoundRHS = getSignExtendExpr(FoundRHS, LHS->getType()); in isImpliedCond()
11334 FoundRHS = getZeroExtendExpr(FoundRHS, LHS->getType()); in isImpliedCond()
11338 FoundRHS, CtxI); in isImpliedCond()
11343 ICmpInst::Predicate FoundPred, const SCEV *FoundLHS, const SCEV *FoundRHS, in isImpliedCondBalancedTypes() argument
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()
11399 !FoundRHS->getType()->isPointerTy() && in isImpliedCondBalancedTypes()
11401 getNotSCEV(FoundRHS), CtxI)) 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()
11460 V = FoundRHS; in isImpliedCondBalancedTypes()
11462 C = cast<SCEVConstant>(FoundRHS); 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
11640 if (!isAvailableAtLoopEntry(FoundRHS, AR->getLoop())) in isImpliedCondOperandsViaAddRecStart()
11642 return isImpliedCondOperands(Pred, LHS, RHS, AR->getStart(), FoundRHS); in isImpliedCondOperandsViaAddRecStart()
11645 if (auto *AR = dyn_cast<SCEVAddRecExpr>(FoundRHS)) { in isImpliedCondOperandsViaAddRecStart()
11661 const SCEV *FoundLHS, const SCEV *FoundRHS) { in isImpliedCondOperandsViaNoOverflow() argument
11714 Optional<APInt> RDiff = computeConstantDifference(RHS, FoundRHS); in isImpliedCondOperandsViaNoOverflow()
11731 return isAvailableAtLoopEntry(FoundRHS, L) && in isImpliedCondOperandsViaNoOverflow()
11732 isLoopEntryGuardedByCond(L, Pred, FoundRHS, in isImpliedCondOperandsViaNoOverflow()
11739 const SCEV *FoundRHS, unsigned Depth) { 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()
11854 const SCEV *FoundRHS) { in isImpliedCondOperandsViaShift() argument
11857 if (RHS == FoundRHS) { in isImpliedCondOperandsViaShift()
11859 std::swap(FoundLHS, FoundRHS); in isImpliedCondOperandsViaShift()
11865 auto *SUFoundRHS = dyn_cast<SCEVUnknown>(FoundRHS); in isImpliedCondOperandsViaShift()
11895 const SCEV *FoundRHS, 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()
11994 const SCEV *FoundRHS, in isImpliedViaOperations() argument
12000 getTypeSizeInBits(FoundRHS->getType()) && in isImpliedViaOperations()
12010 std::swap(FoundLHS, FoundRHS); in isImpliedViaOperations()
12018 if (isKnownNonNegative(FoundLHS) && isKnownNonNegative(FoundRHS)) { in isImpliedViaOperations()
12024 FoundRHS) && in isImpliedViaOperations()
12026 FoundRHS)) in isImpliedViaOperations()
12051 FoundRHS, Depth + 1); in isImpliedViaOperations()
12112 auto *FRHSTy = FoundRHS->getType(); in isImpliedViaOperations()
12124 auto *FoundRHSExt = getNoopOrSignExtend(FoundRHS, WTy); in isImpliedViaOperations()
12153 if (isImpliedViaMerge(Pred, OrigLHS, RHS, OrigFoundLHS, FoundRHS, Depth + 1)) in isImpliedViaOperations()
12205 const SCEV *FoundRHS) { in isImpliedCondOperandsHelper() argument
12210 if (HasSameValue(LHS, FoundLHS) && HasSameValue(RHS, FoundRHS)) in isImpliedCondOperandsHelper()
12216 isKnownViaNonRecursiveReasoning(ICmpInst::ICMP_SGE, RHS, FoundRHS)) in isImpliedCondOperandsHelper()
12222 isKnownViaNonRecursiveReasoning(ICmpInst::ICMP_SLE, RHS, FoundRHS)) in isImpliedCondOperandsHelper()
12228 isKnownViaNonRecursiveReasoning(ICmpInst::ICMP_UGE, RHS, FoundRHS)) in isImpliedCondOperandsHelper()
12234 isKnownViaNonRecursiveReasoning(ICmpInst::ICMP_ULE, RHS, FoundRHS)) in isImpliedCondOperandsHelper()
12240 if (isImpliedViaOperations(Pred, LHS, RHS, FoundLHS, FoundRHS)) in isImpliedCondOperandsHelper()
12250 const SCEV *FoundRHS) { in isImpliedCondOperandsViaRanges() argument
12251 if (!isa<SCEVConstant>(RHS) || !isa<SCEVConstant>(FoundRHS)) in isImpliedCondOperandsViaRanges()
12260 const APInt &ConstFoundRHS = cast<SCEVConstant>(FoundRHS)->getAPInt(); in isImpliedCondOperandsViaRanges()