LEA doesn't affect flags, so use it more liberally to replace an ADD when we know that the ADD operands affect flags.
In the motivating example from PR40483:
https://bugs.llvm.org/show_bug.cgi?id=40483
...this lets us avoid duplicating a math op just to avoid flag conflict.
Should we make sure the flag output has a user? ADC/SBB could definitely only have a live flag input. Not sure about the others.