[llvm] [X86] Optimized ADD + ADC to ADC (PR #173543)

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 25 16:51:56 PST 2025


================
@@ -58164,6 +58164,16 @@ static SDValue combineX86AddSub(SDNode *N, SelectionDAG &DAG,
     }
   }
 
+  // Fold ADD(ADC(Y, C1, CF), C2) -> ADC(Y, C1 + C2, CF)
+  if (!IsSub && LHS.getOpcode() == X86ISD::ADC &&
+      isa<ConstantSDNode>(LHS.getOperand(1)) && isa<ConstantSDNode>(RHS)) {
+    auto *C1 = dyn_cast<ConstantSDNode>(LHS.getOperand(1));
----------------
topperc wrote:

dyn_cast -> cast

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


More information about the llvm-commits mailing list