This method is needed in the follow-up patches adding
ConstantRange::mulWithNoWrap()/ConstantRange::shlWithNoWrap() support
to detect the all-overflow cases where we should/could return empty-set.
There's an exhaustive test so we know this is correct and optimal.