================ @@ -1249,10 +1249,33 @@ bool DependenceInfo::strongSIVtest(const SCEV *Coeff, const SCEV *SrcConst, SE->isKnownNonNegative(Coeff) ? Coeff : SE->getNegativeSCEV(Coeff); const SCEV *Product = SE->getMulExpr(UpperBound, AbsCoeff); if (isKnownPredicate(CmpInst::ICMP_SGT, AbsDelta, Product)) { - // Distance greater than trip count - no dependence - ++StrongSIVindependence; - ++StrongSIVsuccesses; - return true; + // Check if this involves symbolic expressions where we might be too + // conservative. + if (isa<SCEVUnknown>(Delta) || isa<SCEVUnknown>(Coeff) || + !isa<SCEVConstant>(AbsDelta) || !isa<SCEVConstant>(Product)) { + // For symbolic expressions, add runtime assumption rather than + // rejecting. + const SCEVPredicate *BoundPred = + SE->getComparePredicate(ICmpInst::ICMP_SLE, AbsDelta, Product); ---------------- sushgokh wrote:
push this inside if(){...} https://github.com/llvm/llvm-project/pull/157738 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits