[HIPSPV] Add CUDA->SPIR-V address space mapping
Add mapping for CUDA address spaces for HIP to SPIR-V translation. This change allows HIP device code to be emitted as valid SPIR-V by mapping unqualified pointers to generic address space and by mapping __device__ and __shared__ AS to their equivalent AS in SPIR-V (CrossWorkgroup and Workgroup, respectively). Cuda's __constant__ AS is handled specially. In HIP unqualified pointers (aka "flat" pointers) can point to __constant__ objects. Mapping this AS to ConstantMemory would produce to illegal address space casts to generic AS. Therefore, __constant__ AS is mapped to CrossWorkgroup. Patch by linjamaki (Henry Linjamäki)! Differential Revision: https://reviews.llvm.org/D108621
Loading
Please register or sign in to comment