As it is being noticed in D89456, and being pointed out
by @efriedma https://reviews.llvm.org/D89456#inline-831603
if we use narrower type to represent the ConstantRange of a pointer,
we will end up with a wrong result.
In datalayout, there's pointer bit width, and a index bit width.
Latter is, by default, equal to the pointer bit width, but it can be different.
And SCEV uses index bit width everywhere, where pointer bit width was obviously meant..