[llvm] [Analysis] Use usub_sat during SCEV expansion in some cases (PR #216975)
Paul Walker via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 18 04:08:21 PDT 2026
================
@@ -269,6 +269,12 @@ m_scev_SMax(const Op0_t &Op0, const Op1_t &Op1) {
return m_scev_Binary<SCEVSMaxExpr>(Op0, Op1);
}
+template <typename Op0_t, typename Op1_t>
+inline SCEVBinaryExpr_match<SCEVUMaxExpr, Op0_t, Op1_t>
+m_scev_UMax(const Op0_t &Op0, const Op1_t &Op1) {
+ return m_scev_Binary<SCEVUMaxExpr>(Op0, Op1);
----------------
paulwalker-arm wrote:
```suggestion
return m_scev_Binary<SCEVUMaxExpr>(Op0, Op1, SCEV::FlagAnyWrap, true);
```
It doesn't affect your use case but might benefit future uses.
https://github.com/llvm/llvm-project/pull/216975
More information about the llvm-commits
mailing list