[PATCH] D154522: [DAG] Improve combineCarryDiamond to accept (uaddo_carry X, 0, Carry)

Paweł Bylica via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 3 07:50:19 PDT 2023


chfast added a comment.

Are you able to add any tests supporting this?



================
Comment at: llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:3550
+  SDValue X, Y;
+  bool IsAdd;
+  if (!matchCarry(Carry0, X, Y, IsAdd))
----------------



================
Comment at: llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:3579
   // Verify that the carry/borrow in is plausibly a carry/borrow bit.
+  // TODO: make getAsCarry() aware of how partial carries are merged.
+  SDValue CarryIn = Carry1.getValue(0) == X ? Y : X;
----------------
This is a came back for this TODO? What exactly does it mean?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D154522/new/

https://reviews.llvm.org/D154522



More information about the llvm-commits mailing list