diff --git a/clang/lib/Driver/ToolChains/HIPUtility.cpp b/clang/lib/Driver/ToolChains/HIPUtility.cpp index b3adfe65402ff..8f6b305aaf691 100644 --- a/clang/lib/Driver/ToolChains/HIPUtility.cpp +++ b/clang/lib/Driver/ToolChains/HIPUtility.cpp @@ -324,7 +324,10 @@ void HIP::constructHIPFatbinCommand(Compilation &C, const JobAction &JA, Args.MakeArgString(std::string("-output=").append(Output)); BundlerArgs.push_back(BundlerOutputArg); - addOffloadCompressArgs(Args, BundlerArgs); + // For SYCL, the compression is occurring during the wrapping step, so we do + // not want to do additional compression here. + if (!JA.isDeviceOffloading(Action::OFK_SYCL)) + addOffloadCompressArgs(Args, BundlerArgs); const char *Bundler = Args.MakeArgString( T.getToolChain().GetProgramPath("clang-offload-bundler")); diff --git a/clang/test/Driver/sycl-offload-wrapper-compression.cpp b/clang/test/Driver/sycl-offload-wrapper-compression.cpp index 1ef9282ee3598..9e9aa437047d4 100644 --- a/clang/test/Driver/sycl-offload-wrapper-compression.cpp +++ b/clang/test/Driver/sycl-offload-wrapper-compression.cpp @@ -10,5 +10,11 @@ // RUN: %clangxx -### -fsycl %s 2>&1 | FileCheck %s --check-prefix=CHECK-NO-COMPRESS // RUN: %clangxx -### -fsycl --offload-compression-level=3 %s 2>&1 | FileCheck %s --check-prefix=CHECK-NO-COMPRESS +// For SYCL offloading to HIP, make sure we don't pass '--compress' to offload-bundler. +// RUN: %clangxx -### -fsycl --offload-compress -Xsycl-target-backend=amdgcn-amd-amdhsa --offload-arch=gfx1031 -fsycl-targets=amdgcn-amd-amdhsa -fno-sycl-libspirv -nogpulib %s &> %t.driver +// RUN: FileCheck %s --check-prefix=CHECK-NO-COMPRESS-BUNDLER --input-file=%t.driver + // CHECK-NO-COMPRESS-NOT: {{.*}}clang-offload-wrapper{{.*}}"-offload-compress"{{.*}} // CHECK-NO-COMPRESS-NOT: {{.*}}clang-offload-wrapper{{.*}}"-offload-compression-level=3"{{.*}} + +// CHECK-NO-COMPRESS-BUNDLER-NOT: {{.*}}clang-offload-bundler{{.*}}"-compress"{{.*}} diff --git a/sycl/test-e2e/Compression/compression.cpp b/sycl/test-e2e/Compression/compression.cpp index bd2c8ef558e6f..ffabf1cb07aad 100644 --- a/sycl/test-e2e/Compression/compression.cpp +++ b/sycl/test-e2e/Compression/compression.cpp @@ -1,9 +1,6 @@ // End-to-End test for testing device image compression. // REQUIRES: zstd -// XFAIL: hip_amd -// XFAIL-TRACKER: https://github.com/intel/llvm/issues/15829 - // RUN: %{build} -O0 -g %S/Inputs/single_kernel.cpp -o %t_not_compress.out // RUN: %{build} -O0 -g --offload-compress --offload-compression-level=3 %S/Inputs/single_kernel.cpp -o %t_compress.out // RUN: %{run} %t_not_compress.out diff --git a/sycl/test-e2e/Compression/compression_multiple_tu.cpp b/sycl/test-e2e/Compression/compression_multiple_tu.cpp index a561ec5f342a9..72eb3f0904790 100644 --- a/sycl/test-e2e/Compression/compression_multiple_tu.cpp +++ b/sycl/test-e2e/Compression/compression_multiple_tu.cpp @@ -2,9 +2,6 @@ // translation units, one compressed and one not compressed. // REQUIRES: zstd, linux -// XFAIL: hip_amd -// XFAIL-TRACKER: https://github.com/intel/llvm/issues/15829 - // RUN: %{build} --offload-compress -DENABLE_KERNEL1 -shared -fPIC -o %T/kernel1.so // RUN: %{build} -DENABLE_KERNEL2 -shared -fPIC -o %T/kernel2.so