[llvm] [GlobalISel] Add G_ADD for computeNumSignBits (PR #159202)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 17 04:43:30 PDT 2025


================
@@ -5039,10 +5039,13 @@ unsigned SelectionDAG::ComputeNumSignBits(SDValue Op, const APInt &DemandedElts,
     break;
   case ISD::ADD:
   case ISD::ADDC:
-    // Add can have at most one carry bit.  Thus we know that the output
-    // is, at worst, one more bit than the inputs.
     Tmp = ComputeNumSignBits(Op.getOperand(0), DemandedElts, Depth + 1);
-    if (Tmp == 1) return 1; // Early out.
+    if (Tmp == 1)
+      return 1; // Early out.
+
+    Tmp2 = ComputeNumSignBits(Op.getOperand(1), DemandedElts, Depth + 1);
----------------
arsenm wrote:

Keep DAG changes separate (Also, this should probably be checking getOperand(1) first)

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


More information about the llvm-commits mailing list