[llvm-branch-commits] [llvm] release/23.x: [DAGCombiner] Require a 0/1 carry-in when rebuilding a borrow chain (#223396) (PR #223616)

Craig Topper via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Fri Sep 18 14:53:37 PDT 2026


topperc wrote:

> > I'm not sure I believe UADDO_CARRY/USUBO_CARRY don't conform to getBooleanContents. Type legalization uses PromoteIntRes_Overflow just like SADDO_CARRY/SSUBO_CARRY. This uses getBoolExtTrunc and PromoteTargetBoolean.
> > I think the documentation in ISDOpcodes may be incorrect.
> 
> Is this an issue that should block this change from consideration for the release branch?

The patch is incorrect for targets the use ZeroOrNegativeOne boolean contents. We either need to consider boolean contents or we need to disable the combine for ZeroOrNegativeOne boolean contents.

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


More information about the llvm-branch-commits mailing list