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

Phoebe Wang via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 7 05:57:57 PST 2026


================
@@ -58163,6 +58166,17 @@ 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) &&
+      !needCarryOrOverflowFlag(SDValue(N, 1))) {
----------------
phoebewang wrote:

I see, thanks!

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


More information about the llvm-commits mailing list