[llvm] [InstCombine] Fold (add (add A, 1), (sext (icmp ne A, 0))) to call umax(A, 1) (PR #122491)

via llvm-commits llvm-commits at lists.llvm.org
Sun Jan 12 00:01:41 PST 2025


================
@@ -1775,6 +1775,16 @@ Instruction *InstCombinerImpl::visitAdd(BinaryOperator &I) {
     }
   }
 
+  // (add (add A, 1), (sext (icmp ne A, 0))) => call umax(A, 1)
+  if (match(LHS, m_OneUse(m_Add(m_Value(A), m_One()))) &&
+      match(RHS, m_OneUse(m_SExt(m_OneUse(m_SpecificICmp(
+                     ICmpInst::ICMP_NE, m_Deferred(A), m_ZeroInt())))))) {
----------------
Ruhung wrote:

Thanks. Done!

https://github.com/llvm/llvm-project/pull/122491


More information about the llvm-commits mailing list