This is the same change as rL356290, but for signed add. It replaces the existing ripple logic with the overflow logic in ConstantRange, where the range is produced from KnownBits in a way that avoids wrapping the signed domain.
This is still intended as NFC, but it's somewhat less obvious here, so I'm putting up a review. It should be noted that this does make computeOverflowForSignedAdd more powerful, but only in that it can now also determine AlwaysOverflows conditions. However, none of the consumers of this method make use of this yet, so it does not impact optimization (I'll submit a followup to use AlwaysOverflows for with.overflow).