The logic here is not valid for non-equality comparisons. E.g. using slt will leak the sign bit, regardless of whether the pointer is dereferenceable. This fix is split out from https://github.com/llvm/llvm-project/pull/125880.