This patch teaches SCEV to calculate the maxBECount when the end bound
of the loop can vary. Note that we cannot calculate the exactBECount.
This will only be done when both conditions are satisfied:
- the loop termination condition is strictly LT.
- the IV is proven to not overflow.
This provides more information to users of SCEV and can be used to
improve identification of finite loops.
If the stride is known negative and IsSigned is true, can we return computeMaxBECount(End, -Stride, Start, BitWidth, IsSigned) instead of conservative estimate?