Skip to content

Commit 9f8f5e5

Browse files
author
Georgi Mirazchiyski
committed
Do not add fcuda-is-device to CC1 when compiling for HIPAMD
1 parent c279604 commit 9f8f5e5

File tree

2 files changed

+16
-10
lines changed

2 files changed

+16
-10
lines changed

clang/lib/Driver/ToolChains/HIPAMD.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,8 @@ void HIPAMDToolChain::addClangTargetOptions(
283283
DeviceOffloadingKind == Action::OFK_SYCL) &&
284284
"Only HIP and SYCL offloading kinds are supported for GPUs.");
285285

286-
CC1Args.push_back("-fcuda-is-device");
286+
if (DeviceOffloadingKind != Action::OFK_SYCL)
287+
CC1Args.push_back("-fcuda-is-device");
287288

288289
if (!DriverArgs.hasFlag(options::OPT_fgpu_rdc, options::OPT_fno_gpu_rdc,
289290
false))
Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,21 @@
11
// Verify the __CUDA_ARCH__ macro has not been defined when offloading SYCL on NVPTX
22
// RUN: %clangxx -E -dM -fsycl -fsycl-targets=nvptx64-nvidia-cuda -Xsycl-target-backend --offload-arch=sm_80 -nocudalib -fno-sycl-libspirv %s 2>&1 \
3-
// RUN: | FileCheck --check-prefix=CHECK-CUDA-ARCH-MACRO-NVPTX %s
4-
// CHECK-CUDA-ARCH-MACRO-NVPTX-NOT: #define __CUDA_ARCH__ {{[0-9]+}}
5-
3+
// RUN: | FileCheck --check-prefix=CHECK-CUDA-ARCH-MACRO %s
64
// Verify the __CUDA_ARCH__ macro has not been defined when offloading SYCL on AMDGPU
75
// RUN: %clangxx -E -dM -fsycl -fsycl-targets=amdgcn-amd-amdhsa -Xsycl-target-backend --offload-arch=gfx90a -nogpulib -fno-sycl-libspirv %s 2>&1 \
8-
// RUN: | FileCheck --check-prefix=CHECK-CUDA-ARCH-MACRO-AMDGPU %s
9-
// CHECK-CUDA-ARCH-MACRO-AMDGPU-NOT: #define __CUDA_ARCH__ {{[0-9]+}}
6+
// RUN: | FileCheck --check-prefix=CHECK-CUDA-ARCH-MACRO %s
7+
// CHECK-CUDA-ARCH-MACRO-NOT: #define __CUDA_ARCH__ {{[0-9]+}}
108

119
// Verify that '-fcuda-is-device' is not supplied when offloading SYCL on NVPTX
1210
// RUN: %clangxx -### -fsycl -fsycl-targets=nvptx64-nvidia-cuda -Xsycl-target-backend --offload-arch=sm_80 -nocudalib -fno-sycl-libspirv %s 2>&1 \
13-
// RUN: | FileCheck --check-prefix=CHECK-CUDA-IS-DEVICE %s
14-
// CHECK-CUDA-IS-DEVICE: clang{{.*}} "-cc1" "-triple" "nvptx64-nvidia-cuda"
15-
// CHECK-CUDA-IS-DEVICE-NOT: "-fcuda-is-device"
16-
// CHECK-CUDA-IS-DEVICE-SAME: "-fsycl-is-device"
11+
// RUN: | FileCheck --check-prefix=CHECK-CUDA-IS-DEVICE-NVPTX %s
12+
// CHECK-CUDA-IS-DEVICE-NVPTX: clang{{.*}} "-cc1" "-triple" "nvptx64-nvidia-cuda"
13+
// CHECK-CUDA-IS-DEVICE-NVPTX-NOT: "-fcuda-is-device"
14+
// CHECK-CUDA-IS-DEVICE-NVPTX-SAME: "-fsycl-is-device"
15+
16+
// Verify that '-fcuda-is-device' is not supplied when offloading SYCL on AMDGPU
17+
// RUN: %clangxx -### -fsycl -fsycl-targets=amdgcn-amd-amdhsa -Xsycl-target-backend --offload-arch=gfx90a -nogpulib -fno-sycl-libspirv %s 2>&1 \
18+
// RUN: | FileCheck --check-prefix=CHECK-CUDA-IS-DEVICE-AMDGPU %s
19+
// CHECK-CUDA-IS-DEVICE-AMDGPU: clang{{.*}} "-cc1" "-triple" "amdgcn-amd-amdhsa"
20+
// CHECK-CUDA-IS-DEVICE-AMDGPU-NOT: "-fcuda-is-device"
21+
// CHECK-CUDA-IS-DEVICE-AMDGPU-SAME: "-fsycl-is-device"

0 commit comments

Comments
 (0)