I noticed unnecessary 'sbb' instructions in D30472 and while looking at 'ptest' codegen recently. This happens because we were transforming any 'setb' - even when we only wanted a single-bit result.
This patch moves those transforms under visitAdd/visitSub, so we we're only creating sbb/adc when it is a win. I don't know why we need a SETCC_CARRY node type, but I'm not proposing to change that existing behavior in this patch.
[Also, I'm skeptical that sbb/adc are a win for all micro-arches, but I'm not volunteering to perf test a single-cycle difference for adds either!]
The test changes here are all cases where we no longer produce sbb/adc, except for the fake diffs in add-of-carry.ll and peep-setb.ll. I made those changes so we'd have a record of where the moved transforms are still firing (and supposedly doing good).
The comment needs to removed.