[SCEV] Use computeMaxBECountForLT for howManyGreaterThans. (#224863)
Instead of checking for overflow of IV > RHS we can instead check ~IV <
~RHS.
This allows removing canIVOverflowOnGT, by extending canIVOverflowOnLT
and computeMaxBECountForLT to invert the operands if needed, replacing
hand rolled logic in howManyGreaterThans.
This improves results in some cases, because computeMaxBECountForLT
covers some additional cases:
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/1371.
This is also the last step in preparation for using howManyLessThans for
howManyGreaterThans.
PR: https://github.com/llvm/llvm-project/pull/224863