[CUDA][HIP] Externalize device var in anonymous namespace
authorYaxun (Sam) Liu <yaxun.liu@amd.com>
Mon, 5 Jun 2023 14:19:38 +0000 (10:19 -0400)
committerYaxun (Sam) Liu <yaxun.liu@amd.com>
Tue, 6 Jun 2023 16:03:48 +0000 (12:03 -0400)
commitf2677afe91592673663d24a63706c3218c477c1c
treebbdfc67577877182b9f560d1149318c5b10a34cb
parent540294845babbb2be909ea456323d7bc8a1763df
[CUDA][HIP] Externalize device var in anonymous namespace

Device variables in an anonymous namespace may be
referenced by host code, therefore they need to
be externalized in a similar way as a static device
variables or kernels in an anonymous namespace.

Fixes: https://github.com/ROCm-Developer-Tools/HIP/issues/3246
Reviewed by: Artem Belevich

Differential Revision: https://reviews.llvm.org/D152164
clang/lib/AST/ASTContext.cpp
clang/test/CodeGenCUDA/anon-ns.cu [new file with mode: 0644]
clang/test/CodeGenCUDA/host-used-device-var.cu
clang/test/CodeGenCUDA/kernel-in-anon-ns.cu [deleted file]