[clang] [clang][CodeGen][SPIR-V] Fix incorrect SYCL usage, implement missing interface (PR #109415)
Arvind Sudarsanam via cfe-commits
cfe-commits at lists.llvm.org
Tue Sep 24 07:14:26 PDT 2024
================
@@ -188,6 +190,28 @@ void SPIRVTargetCodeGenInfo::setCUDAKernelCallingConvention(
}
}
+LangAS
+SPIRVTargetCodeGenInfo::getGlobalVarAddressSpace(CodeGenModule &CGM,
+ const VarDecl *D) const {
+ assert(!CGM.getLangOpts().OpenCL &&
+ !(CGM.getLangOpts().CUDA && CGM.getLangOpts().CUDAIsDevice) &&
+ "Address space agnostic languages only");
+ // If we're here it means that we're using the SPIRDefIsGen ASMap, hence for
+ // the global AS we can rely on either cuda_device or sycl_global to be
+ // correct; however, since this is not a CUDA Device context, we use
+ // sycl_global to prevent confusion with the assertion.
+ LangAS DefaultGlobalAS = getLangASFromTargetAS(
+ CGM.getContext().getTargetAddressSpace(LangAS::sycl_global));
----------------
asudarsa wrote:
Are there any tests available to check this behavior?
Thanks
https://github.com/llvm/llvm-project/pull/109415
More information about the cfe-commits
mailing list