[llvm] [DAG] visitFREEZE - always allow freezing multiple operands (PR #145939)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 27 08:12:53 PDT 2025


================
@@ -5555,6 +5555,23 @@ bool SelectionDAG::canCreateUndefOrPoison(SDValue Op, const APInt &DemandedElts,
   case ISD::SPLAT_VECTOR:
     return false;
 
+  case ISD::ADDC:
+  case ISD::SUBC:
+  case ISD::ADDE:
+  case ISD::SUBE:
+  case ISD::SADDO:
+  case ISD::SSUBO:
+  case ISD::SMULO:
+  case ISD::SADDO_CARRY:
+  case ISD::SSUBO_CARRY:
+  case ISD::UADDO:
+  case ISD::USUBO:
+  case ISD::UMULO:
+  case ISD::UADDO_CARRY:
+  case ISD::USUBO_CARRY:
+    // No poison on result or overflow flags.
+    return false;
----------------
nikic wrote:

Land this separately?

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


More information about the llvm-commits mailing list