[SPIR-V] Simplify addrspacecast for null in composite constant preprocessing (#192030)
Fold addrspacecast(null) to a typed null pointer during composite
constant preprocessing so that null pointer members in structs and
arrays get the correct SPIR-V pointer type instead of being lowered as
integers. This fixes invalid SPIR-V where OpConstantNull had an integer
type instead of a pointer type, and where OpSpecConstantOp was
unnecessarily emitted for null casts
related to https://github.com/llvm/llvm-project/issues/190736