Use getPointerAddressSpace instead of cast<PointerType>.getAddressSpace. (#54113)
The former also handles vectors of pointers, which can occur after
vectorization:
```
#5 0x00007f5bfe94de5e in llvm::cast<llvm::PointerType, llvm::Type> (Val=<optimized out>) at llvm/Support/Casting.h:578
578 assert(isa<To>(Val) && "cast<Ty>() argument of incompatible type!");
(rr) up
#6 GCInvariantVerifier::visitAddrSpaceCastInst (this=this@entry=0x7ffd022fbf56, I=...) at julia/src/llvm-gc-invariant-verifier.cpp:66
66 unsigned ToAS = cast<PointerType>(I.getDestTy())->getAddressSpace();
(rr) call I.dump()
%23 = addrspacecast <4 x ptr addrspace(10)> %wide.load to <4 x ptr addrspace(11)>, !dbg !43
```
Fixes aborts seen in https://github.com/JuliaLang/julia/pull/53070