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

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 7 12:58:08 PST 2026


================
@@ -57898,7 +57898,10 @@ static SDValue combineFunnelShift(SDNode *N, SelectionDAG &DAG,
 static bool needCarryOrOverflowFlag(SDValue Flags) {
   assert(Flags.getValueType() == MVT::i32 && "Unexpected VT!");
 
-  for (const SDNode *User : Flags->users()) {
+  for (const SDUse &Use : Flags->uses()) {
+    if (Use != Flags)
+      continue;
----------------
topperc wrote:

`Flags->uses()` gets all uses of the `SDNode`. There is no `SDValue::uses()` function, so you have to use `operator->` which gets the node.

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


More information about the llvm-commits mailing list