Alive says this is OK
This patch LGTM, except for the changes in tryFactorization(). It seems there's some code missing.
This variable is never used. It's defined over the next few lines, but never used to set NUW on the instruction.
This consists of 3 separate changes, it would be easier to review them separately.
Maintain is the wrong term then, has NUW flag or something
Can you please precommit using utils/update_test_checks.py ?
Okay, this looks good to me.
I would still recomment
bool IsNUW = hasNoUnsignedWrap(I) && hasNoUnsignedWrap(*Op0); bool IsNSW = MaintainNoSignedWrap(I, B, C); ClearSubclassDataAfterReassociation(I); if (IsNUW) I.setHasNoUnsignedWrap(true);