From bb8c5224969ed6722842778c8ce9418dd0e827e8 Mon Sep 17 00:00:00 2001 From: Marcos Maronas Date: Wed, 15 Oct 2025 20:49:36 +0200 Subject: [PATCH 1/3] Use %t.dir for DeviceImageDependencies tests --- .../NewOffloadDriver/dynamic.cpp | 15 +++++++-------- .../NewOffloadDriver/singleDynamicLibrary.cpp | 9 ++++----- sycl/test-e2e/DeviceImageDependencies/dynamic.cpp | 15 +++++++-------- .../singleDynamicLibrary.cpp | 9 ++++----- 4 files changed, 22 insertions(+), 26 deletions(-) diff --git a/sycl/test-e2e/DeviceImageDependencies/NewOffloadDriver/dynamic.cpp b/sycl/test-e2e/DeviceImageDependencies/NewOffloadDriver/dynamic.cpp index c3aecb7c782df..9edeeff934c5b 100644 --- a/sycl/test-e2e/DeviceImageDependencies/NewOffloadDriver/dynamic.cpp +++ b/sycl/test-e2e/DeviceImageDependencies/NewOffloadDriver/dynamic.cpp @@ -3,18 +3,17 @@ // DEFINE: %{dynamic_lib_options} = -fsycl %fPIC %shared_lib -fsycl-allow-device-image-dependencies -I %S/Inputs %if windows %{-DMAKE_DLL %} // DEFINE: %{dynamic_lib_suffix} = %if windows %{dll%} %else %{so%} -// DEFINE: %{tdir} = %t/.. -// RUN: mkdir -p %{tdir} -// RUN: %clangxx --offload-new-driver %{dynamic_lib_options} %S/Inputs/d.cpp -o %{tdir}/libdevice_d.%{dynamic_lib_suffix} -// RUN: %clangxx --offload-new-driver %{dynamic_lib_options} %S/Inputs/c.cpp %if windows %{%{tdir}/libdevice_d.lib%} -o %{tdir}/libdevice_c.%{dynamic_lib_suffix} -// RUN: %clangxx --offload-new-driver %{dynamic_lib_options} %S/Inputs/b.cpp %if windows %{%{tdir}/libdevice_c.lib%} -o %{tdir}/libdevice_b.%{dynamic_lib_suffix} -// RUN: %clangxx --offload-new-driver %{dynamic_lib_options} %S/Inputs/a.cpp %if windows %{%{tdir}/libdevice_b.lib%} -o %{tdir}/libdevice_a.%{dynamic_lib_suffix} +// RUN: mkdir -p %t.dir +// RUN: %clangxx --offload-new-driver %{dynamic_lib_options} %S/Inputs/d.cpp -o %t.dir/libdevice_d.%{dynamic_lib_suffix} +// RUN: %clangxx --offload-new-driver %{dynamic_lib_options} %S/Inputs/c.cpp %if windows %{%t.dir/libdevice_d.lib%} -o %t.dir/libdevice_c.%{dynamic_lib_suffix} +// RUN: %clangxx --offload-new-driver %{dynamic_lib_options} %S/Inputs/b.cpp %if windows %{%t.dir/libdevice_c.lib%} -o %t.dir/libdevice_b.%{dynamic_lib_suffix} +// RUN: %clangxx --offload-new-driver %{dynamic_lib_options} %S/Inputs/a.cpp %if windows %{%t.dir/libdevice_b.lib%} -o %t.dir/libdevice_a.%{dynamic_lib_suffix} // RUN: %{build} --offload-new-driver -fsycl-allow-device-image-dependencies -I %S/Inputs -o %t.out \ // RUN: %if windows \ -// RUN: %{%{tdir}/libdevice_a.lib%} \ +// RUN: %{%t.dir/libdevice_a.lib%} \ // RUN: %else \ -// RUN: %{-L%{tdir} -ldevice_a -ldevice_b -ldevice_c -ldevice_d -Wl,-rpath=%{tdir}%} +// RUN: %{-L%t.dir -ldevice_a -ldevice_b -ldevice_c -ldevice_d -Wl,-rpath=%t.dir%} // RUN: %{run} %t.out diff --git a/sycl/test-e2e/DeviceImageDependencies/NewOffloadDriver/singleDynamicLibrary.cpp b/sycl/test-e2e/DeviceImageDependencies/NewOffloadDriver/singleDynamicLibrary.cpp index 356af2c2bf97f..891987e08de58 100644 --- a/sycl/test-e2e/DeviceImageDependencies/NewOffloadDriver/singleDynamicLibrary.cpp +++ b/sycl/test-e2e/DeviceImageDependencies/NewOffloadDriver/singleDynamicLibrary.cpp @@ -1,21 +1,20 @@ // Test -fsycl-allow-device-image-dependencies with a single dynamic library on // Windows and Linux. -// DEFINE: %{tdir} = %t/.. -// RUN: mkdir -p %{tdir} +// RUN: mkdir -p %t.dir // RUN: %clangxx --offload-new-driver -fsycl %fPIC %shared_lib -fsycl-allow-device-image-dependencies -I %S/Inputs \ // RUN: %S/Inputs/a.cpp \ // RUN: %S/Inputs/b.cpp \ // RUN: %S/Inputs/c.cpp \ // RUN: %S/Inputs/d.cpp \ // RUN: %S/Inputs/wrapper.cpp \ -// RUN: -o %if windows %{%{tdir}/device_single.dll%} %else %{%{tdir}/libdevice_single.so%} +// RUN: -o %if windows %{%t.dir/device_single.dll%} %else %{%t.dir/libdevice_single.so%} // RUN: %{build} --offload-new-driver -I%S/Inputs -o %t.out \ // RUN: %if windows \ -// RUN: %{%{tdir}/device_single.lib%} \ +// RUN: %{%t.dir/device_single.lib%} \ // RUN: %else \ -// RUN: %{-L%{tdir} -ldevice_single -Wl,-rpath=%{tdir}%} +// RUN: %{-L%t.dir -ldevice_single -Wl,-rpath=%t.dir%} // RUN: %{run} %t.out diff --git a/sycl/test-e2e/DeviceImageDependencies/dynamic.cpp b/sycl/test-e2e/DeviceImageDependencies/dynamic.cpp index 1a260b47dca62..fb6801c41fd97 100644 --- a/sycl/test-e2e/DeviceImageDependencies/dynamic.cpp +++ b/sycl/test-e2e/DeviceImageDependencies/dynamic.cpp @@ -3,18 +3,17 @@ // DEFINE: %{dynamic_lib_options} = -fsycl %fPIC %shared_lib -fsycl-allow-device-image-dependencies -I %S/Inputs %if windows %{-DMAKE_DLL %} // DEFINE: %{dynamic_lib_suffix} = %if windows %{dll%} %else %{so%} -// DEFINE: %{tdir} = %t/.. -// RUN: mkdir -p %{tdir} -// RUN: %clangxx %{dynamic_lib_options} %S/Inputs/d.cpp -o %{tdir}/libdevice_d.%{dynamic_lib_suffix} -// RUN: %clangxx %{dynamic_lib_options} %S/Inputs/c.cpp %if windows %{%{tdir}/libdevice_d.lib%} -o %{tdir}/libdevice_c.%{dynamic_lib_suffix} -// RUN: %clangxx %{dynamic_lib_options} %S/Inputs/b.cpp %if windows %{%{tdir}/libdevice_c.lib%} -o %{tdir}/libdevice_b.%{dynamic_lib_suffix} -// RUN: %clangxx %{dynamic_lib_options} %S/Inputs/a.cpp %if windows %{%{tdir}/libdevice_b.lib%} -o %{tdir}/libdevice_a.%{dynamic_lib_suffix} +// RUN: mkdir -p %t.dir +// RUN: %clangxx %{dynamic_lib_options} %S/Inputs/d.cpp -o %t.dir/libdevice_d.%{dynamic_lib_suffix} +// RUN: %clangxx %{dynamic_lib_options} %S/Inputs/c.cpp %if windows %{%t.dir/libdevice_d.lib%} -o %t.dir/libdevice_c.%{dynamic_lib_suffix} +// RUN: %clangxx %{dynamic_lib_options} %S/Inputs/b.cpp %if windows %{%t.dir/libdevice_c.lib%} -o %t.dir/libdevice_b.%{dynamic_lib_suffix} +// RUN: %clangxx %{dynamic_lib_options} %S/Inputs/a.cpp %if windows %{%t.dir/libdevice_b.lib%} -o %t.dir/libdevice_a.%{dynamic_lib_suffix} // RUN: %clangxx -fsycl %{sycl_target_opts} -fsycl-allow-device-image-dependencies -fsycl-device-code-split=per_kernel %S/Inputs/basic.cpp -o %t.out \ // RUN: %if windows \ -// RUN: %{%{tdir}/libdevice_a.lib%} \ +// RUN: %{%t.dir/libdevice_a.lib%} \ // RUN: %else \ -// RUN: %{-L%{tdir} -ldevice_a -ldevice_b -ldevice_c -ldevice_d -Wl,-rpath=%{tdir}%} +// RUN: %{-L%t.dir -ldevice_a -ldevice_b -ldevice_c -ldevice_d -Wl,-rpath=%t.dir%} // RUN: %{run} %t.out diff --git a/sycl/test-e2e/DeviceImageDependencies/singleDynamicLibrary.cpp b/sycl/test-e2e/DeviceImageDependencies/singleDynamicLibrary.cpp index ca5a9e0bcfa9e..33035317305b1 100644 --- a/sycl/test-e2e/DeviceImageDependencies/singleDynamicLibrary.cpp +++ b/sycl/test-e2e/DeviceImageDependencies/singleDynamicLibrary.cpp @@ -1,21 +1,20 @@ // Test -fsycl-allow-device-image-dependencies with a single dynamic library on Windows // and Linux. -// DEFINE: %{tdir} = %t/.. -// RUN: mkdir -p %{tdir} +// RUN: mkdir -p %t.dir // RUN: %clangxx -fsycl %fPIC %shared_lib -fsycl-allow-device-image-dependencies -I %S/Inputs \ // RUN: %S/Inputs/a.cpp \ // RUN: %S/Inputs/b.cpp \ // RUN: %S/Inputs/c.cpp \ // RUN: %S/Inputs/d.cpp \ // RUN: %S/Inputs/wrapper.cpp \ -// RUN: -o %if windows %{%{tdir}/device_single.dll%} %else %{%{tdir}/libdevice_single.so%} +// RUN: -o %if windows %{%t.dir/device_single.dll%} %else %{%t.dir/libdevice_single.so%} // RUN: %{build} -I%S/Inputs -o %t.out \ // RUN: %if windows \ -// RUN: %{%{tdir}/device_single.lib%} \ +// RUN: %{%t.dir/device_single.lib%} \ // RUN: %else \ -// RUN: %{-L%{tdir} -ldevice_single -Wl,-rpath=%{tdir}%} +// RUN: %{-L%t.dir -ldevice_single -Wl,-rpath=%t.dir%} // RUN: %{run} %t.out From 82f591af0be5a8abc43603df2c8ae85ecaaa8863 Mon Sep 17 00:00:00 2001 From: Marcos Maronas Date: Thu, 16 Oct 2025 12:15:59 +0200 Subject: [PATCH 2/3] Add rm command for %t.dir. --- .../DeviceImageDependencies/NewOffloadDriver/dynamic.cpp | 2 +- .../NewOffloadDriver/singleDynamicLibrary.cpp | 2 +- sycl/test-e2e/DeviceImageDependencies/dynamic.cpp | 2 +- sycl/test-e2e/DeviceImageDependencies/singleDynamicLibrary.cpp | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sycl/test-e2e/DeviceImageDependencies/NewOffloadDriver/dynamic.cpp b/sycl/test-e2e/DeviceImageDependencies/NewOffloadDriver/dynamic.cpp index 9edeeff934c5b..f45ea30aae26f 100644 --- a/sycl/test-e2e/DeviceImageDependencies/NewOffloadDriver/dynamic.cpp +++ b/sycl/test-e2e/DeviceImageDependencies/NewOffloadDriver/dynamic.cpp @@ -3,7 +3,7 @@ // DEFINE: %{dynamic_lib_options} = -fsycl %fPIC %shared_lib -fsycl-allow-device-image-dependencies -I %S/Inputs %if windows %{-DMAKE_DLL %} // DEFINE: %{dynamic_lib_suffix} = %if windows %{dll%} %else %{so%} -// RUN: mkdir -p %t.dir +// RUN: rm -rf %t.dir; mkdir -p %t.dir // RUN: %clangxx --offload-new-driver %{dynamic_lib_options} %S/Inputs/d.cpp -o %t.dir/libdevice_d.%{dynamic_lib_suffix} // RUN: %clangxx --offload-new-driver %{dynamic_lib_options} %S/Inputs/c.cpp %if windows %{%t.dir/libdevice_d.lib%} -o %t.dir/libdevice_c.%{dynamic_lib_suffix} // RUN: %clangxx --offload-new-driver %{dynamic_lib_options} %S/Inputs/b.cpp %if windows %{%t.dir/libdevice_c.lib%} -o %t.dir/libdevice_b.%{dynamic_lib_suffix} diff --git a/sycl/test-e2e/DeviceImageDependencies/NewOffloadDriver/singleDynamicLibrary.cpp b/sycl/test-e2e/DeviceImageDependencies/NewOffloadDriver/singleDynamicLibrary.cpp index 891987e08de58..a3a496913edf2 100644 --- a/sycl/test-e2e/DeviceImageDependencies/NewOffloadDriver/singleDynamicLibrary.cpp +++ b/sycl/test-e2e/DeviceImageDependencies/NewOffloadDriver/singleDynamicLibrary.cpp @@ -1,7 +1,7 @@ // Test -fsycl-allow-device-image-dependencies with a single dynamic library on // Windows and Linux. -// RUN: mkdir -p %t.dir +// RUN: rm -rf %t.dir; mkdir -p %t.dir // RUN: %clangxx --offload-new-driver -fsycl %fPIC %shared_lib -fsycl-allow-device-image-dependencies -I %S/Inputs \ // RUN: %S/Inputs/a.cpp \ // RUN: %S/Inputs/b.cpp \ diff --git a/sycl/test-e2e/DeviceImageDependencies/dynamic.cpp b/sycl/test-e2e/DeviceImageDependencies/dynamic.cpp index fb6801c41fd97..fef06b6ee2615 100644 --- a/sycl/test-e2e/DeviceImageDependencies/dynamic.cpp +++ b/sycl/test-e2e/DeviceImageDependencies/dynamic.cpp @@ -3,7 +3,7 @@ // DEFINE: %{dynamic_lib_options} = -fsycl %fPIC %shared_lib -fsycl-allow-device-image-dependencies -I %S/Inputs %if windows %{-DMAKE_DLL %} // DEFINE: %{dynamic_lib_suffix} = %if windows %{dll%} %else %{so%} -// RUN: mkdir -p %t.dir +// RUN: rm -rf %t.dir; mkdir -p %t.dir // RUN: %clangxx %{dynamic_lib_options} %S/Inputs/d.cpp -o %t.dir/libdevice_d.%{dynamic_lib_suffix} // RUN: %clangxx %{dynamic_lib_options} %S/Inputs/c.cpp %if windows %{%t.dir/libdevice_d.lib%} -o %t.dir/libdevice_c.%{dynamic_lib_suffix} // RUN: %clangxx %{dynamic_lib_options} %S/Inputs/b.cpp %if windows %{%t.dir/libdevice_c.lib%} -o %t.dir/libdevice_b.%{dynamic_lib_suffix} diff --git a/sycl/test-e2e/DeviceImageDependencies/singleDynamicLibrary.cpp b/sycl/test-e2e/DeviceImageDependencies/singleDynamicLibrary.cpp index 33035317305b1..198c88378fc5a 100644 --- a/sycl/test-e2e/DeviceImageDependencies/singleDynamicLibrary.cpp +++ b/sycl/test-e2e/DeviceImageDependencies/singleDynamicLibrary.cpp @@ -1,7 +1,7 @@ // Test -fsycl-allow-device-image-dependencies with a single dynamic library on Windows // and Linux. -// RUN: mkdir -p %t.dir +// RUN: rm -rf %t.dir; mkdir -p %t.dir // RUN: %clangxx -fsycl %fPIC %shared_lib -fsycl-allow-device-image-dependencies -I %S/Inputs \ // RUN: %S/Inputs/a.cpp \ // RUN: %S/Inputs/b.cpp \ From ab3bd408a35f0f7aacea3a639f3583b4829b20b6 Mon Sep 17 00:00:00 2001 From: Marcos Maronas Date: Mon, 20 Oct 2025 17:59:48 +0200 Subject: [PATCH 3/3] Windows requires .dll files to be in the same directory than the binary. --- .../DeviceImageDependencies/NewOffloadDriver/dynamic.cpp | 4 ++-- .../NewOffloadDriver/singleDynamicLibrary.cpp | 4 ++-- sycl/test-e2e/DeviceImageDependencies/dynamic.cpp | 4 ++-- .../test-e2e/DeviceImageDependencies/singleDynamicLibrary.cpp | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/sycl/test-e2e/DeviceImageDependencies/NewOffloadDriver/dynamic.cpp b/sycl/test-e2e/DeviceImageDependencies/NewOffloadDriver/dynamic.cpp index f45ea30aae26f..df0d02a0c1e3e 100644 --- a/sycl/test-e2e/DeviceImageDependencies/NewOffloadDriver/dynamic.cpp +++ b/sycl/test-e2e/DeviceImageDependencies/NewOffloadDriver/dynamic.cpp @@ -9,13 +9,13 @@ // RUN: %clangxx --offload-new-driver %{dynamic_lib_options} %S/Inputs/b.cpp %if windows %{%t.dir/libdevice_c.lib%} -o %t.dir/libdevice_b.%{dynamic_lib_suffix} // RUN: %clangxx --offload-new-driver %{dynamic_lib_options} %S/Inputs/a.cpp %if windows %{%t.dir/libdevice_b.lib%} -o %t.dir/libdevice_a.%{dynamic_lib_suffix} -// RUN: %{build} --offload-new-driver -fsycl-allow-device-image-dependencies -I %S/Inputs -o %t.out \ +// RUN: %{build} --offload-new-driver -fsycl-allow-device-image-dependencies -I %S/Inputs -o %t.dir/%{t:stem}.out \ // RUN: %if windows \ // RUN: %{%t.dir/libdevice_a.lib%} \ // RUN: %else \ // RUN: %{-L%t.dir -ldevice_a -ldevice_b -ldevice_c -ldevice_d -Wl,-rpath=%t.dir%} -// RUN: %{run} %t.out +// RUN: %{run} %t.dir/%{t:stem}.out // XFAIL: target-native_cpu // XFAIL-TRACKER: https://github.com/intel/llvm/issues/20142 diff --git a/sycl/test-e2e/DeviceImageDependencies/NewOffloadDriver/singleDynamicLibrary.cpp b/sycl/test-e2e/DeviceImageDependencies/NewOffloadDriver/singleDynamicLibrary.cpp index a3a496913edf2..f1d8ce73e0b43 100644 --- a/sycl/test-e2e/DeviceImageDependencies/NewOffloadDriver/singleDynamicLibrary.cpp +++ b/sycl/test-e2e/DeviceImageDependencies/NewOffloadDriver/singleDynamicLibrary.cpp @@ -10,13 +10,13 @@ // RUN: %S/Inputs/wrapper.cpp \ // RUN: -o %if windows %{%t.dir/device_single.dll%} %else %{%t.dir/libdevice_single.so%} -// RUN: %{build} --offload-new-driver -I%S/Inputs -o %t.out \ +// RUN: %{build} --offload-new-driver -I%S/Inputs -o %t.dir/%{t:stem}.out \ // RUN: %if windows \ // RUN: %{%t.dir/device_single.lib%} \ // RUN: %else \ // RUN: %{-L%t.dir -ldevice_single -Wl,-rpath=%t.dir%} -// RUN: %{run} %t.out +// RUN: %{run} %t.dir/%{t:stem}.out // XFAIL: target-native_cpu // XFAIL-TRACKER: https://github.com/intel/llvm/issues/20142 diff --git a/sycl/test-e2e/DeviceImageDependencies/dynamic.cpp b/sycl/test-e2e/DeviceImageDependencies/dynamic.cpp index fef06b6ee2615..97d093c39c7c1 100644 --- a/sycl/test-e2e/DeviceImageDependencies/dynamic.cpp +++ b/sycl/test-e2e/DeviceImageDependencies/dynamic.cpp @@ -9,13 +9,13 @@ // RUN: %clangxx %{dynamic_lib_options} %S/Inputs/b.cpp %if windows %{%t.dir/libdevice_c.lib%} -o %t.dir/libdevice_b.%{dynamic_lib_suffix} // RUN: %clangxx %{dynamic_lib_options} %S/Inputs/a.cpp %if windows %{%t.dir/libdevice_b.lib%} -o %t.dir/libdevice_a.%{dynamic_lib_suffix} -// RUN: %clangxx -fsycl %{sycl_target_opts} -fsycl-allow-device-image-dependencies -fsycl-device-code-split=per_kernel %S/Inputs/basic.cpp -o %t.out \ +// RUN: %clangxx -fsycl %{sycl_target_opts} -fsycl-allow-device-image-dependencies -fsycl-device-code-split=per_kernel %S/Inputs/basic.cpp -o %t.dir/%{t:stem}.out \ // RUN: %if windows \ // RUN: %{%t.dir/libdevice_a.lib%} \ // RUN: %else \ // RUN: %{-L%t.dir -ldevice_a -ldevice_b -ldevice_c -ldevice_d -Wl,-rpath=%t.dir%} -// RUN: %{run} %t.out +// RUN: %{run} %t.dir/%{t:stem}.out // XFAIL: target-native_cpu // XFAIL-TRACKER: https://github.com/intel/llvm/issues/20142 diff --git a/sycl/test-e2e/DeviceImageDependencies/singleDynamicLibrary.cpp b/sycl/test-e2e/DeviceImageDependencies/singleDynamicLibrary.cpp index 198c88378fc5a..02c300f446bff 100644 --- a/sycl/test-e2e/DeviceImageDependencies/singleDynamicLibrary.cpp +++ b/sycl/test-e2e/DeviceImageDependencies/singleDynamicLibrary.cpp @@ -10,13 +10,13 @@ // RUN: %S/Inputs/wrapper.cpp \ // RUN: -o %if windows %{%t.dir/device_single.dll%} %else %{%t.dir/libdevice_single.so%} -// RUN: %{build} -I%S/Inputs -o %t.out \ +// RUN: %{build} -I%S/Inputs -o %t.dir/%{t:stem}.out \ // RUN: %if windows \ // RUN: %{%t.dir/device_single.lib%} \ // RUN: %else \ // RUN: %{-L%t.dir -ldevice_single -Wl,-rpath=%t.dir%} -// RUN: %{run} %t.out +// RUN: %{run} %t.dir/%{t:stem}.out // XFAIL: target-native_cpu // XFAIL-TRACKER: https://github.com/intel/llvm/issues/20142