[NFCI] Use `DataLayout::getNullPtrValue` in codegen and analysis paths
Replace hardcoded 0 for null pointer materialization with
`DataLayout::getNullPtrValue(AS)` across codegen, analysis, and
transform paths. This prepares these paths for a future semantic
change where `ConstantPointerNull` may represent a non-zero null
pointer value on certain targets.
NFC because all address spaces currently have all-zero null pointer
values, so `getNullPtrValue` returns 0 for every address space.