[Clang] Update target parser for address spaces for AMDGPU (#175998)
Summary:
This does three things:
1. Allows address_space<0>, this is not a no-op currently as it has real
type checking signficange. The SPIR-V backend also does not currently
use `0` as a generic address space.
2. Allows parsing address space pointers inside vectors, this required
parsing the correct closing bracket instead of the first found
3. Adds the two missing AMDGPU builtin types.
Split off from https://github.com/llvm/llvm-project/pull/175873