This is a continuation of D89456.
As it was suggested there, now that SCEV models PtrToInt,
we can try to improve SCEV's pointer handling.
In particular, i believe, i will need this in the future
to further fix SCEVAddExproperation type handling.
This removes special handling of ConstantPointerNull
from ScalarEvolution::createSCEV(), and add constant folding
into ScalarEvolution::getPtrToIntExpr().
This way, null constants stay as such in SCEV's.
clang-tidy: warning: 'auto *U' can be declared as 'const auto *U' [llvm-qualified-auto]
not useful