[llvm] [ConstantRange] Expand makeAllowedICmpRegion to use samesign to give tighter range (PR #174355)
Yingwei Zheng via llvm-commits
llvm-commits at lists.llvm.org
Tue Feb 3 06:57:27 PST 2026
================
@@ -150,6 +198,12 @@ ConstantRange ConstantRange::makeAllowedICmpRegion(CmpInst::Predicate Pred,
return ConstantRange(std::move(SMin) + 1, APInt::getSignedMinValue(W));
}
case CmpInst::ICMP_UGE:
+ if (!Pred.hasSameSign())
+ return getNonEmpty(CR.getUnsignedMin(), APInt::getZero(W));
+
+ if (CR.isAllNonNegative() ||
+ (!CR.isAllNegative() && !CR.isSignWrappedSet()))
+ return getNonEmpty(CR.getSignedMin(), APInt::getSignedMinValue(W));
----------------
dtcxzyw wrote:
```suggestion
if (Pred.hasSameSign() && (CR.isAllNonNegative() ||
(!CR.isAllNegative() && !CR.isSignWrappedSet())))
return getNonEmpty(CR.getSignedMin(), APInt::getSignedMinValue(W));
```
https://github.com/llvm/llvm-project/pull/174355
More information about the llvm-commits
mailing list