Skip to content

Commit ce651ce

Browse files
committed
Merge remote-tracking branch 'intel/sycl' into ext_oneapi_inter_process_communication
2 parents 7a332b9 + f4a0b40 commit ce651ce

File tree

131 files changed

+1264
-862
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

131 files changed

+1264
-862
lines changed

.github/workflows/sycl-linux-precommit.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,42 @@ jobs:
6262
e2e_binaries_artifact: e2e_bin
6363
e2e_binaries_preview_artifact: e2e_bin_preview
6464

65+
# Build and run native cpu e2e tests separately as cannot currently
66+
# build all the e2e tests
67+
build_run_native_cpu_e2e_tests:
68+
if: ${{ always() && !cancelled() && needs.build.outputs.build_conclusion == 'success' }}
69+
runs-on: [Linux, build]
70+
needs: [build]
71+
container:
72+
image: ghcr.io/intel/llvm/sycl_ubuntu2404_nightly:latest
73+
options: -u 1001:1001
74+
steps:
75+
- uses: actions/checkout@v4
76+
with:
77+
sparse-checkout: |
78+
devops/
79+
80+
# download build artefact
81+
- name: Download toolchain
82+
uses: actions/download-artifact@v4
83+
with:
84+
name: sycl_linux_default
85+
- name: Extract SYCL toolchain
86+
shell: bash
87+
run: |
88+
mkdir toolchain
89+
tar -xf llvm_sycl.tar.zst -C toolchain
90+
rm llvm_sycl.tar.zst
91+
- name: Build and run E2E tests
92+
uses: ./devops/actions/run-tests/e2e
93+
with:
94+
ref: ${{ inputs.ref || github.sha }}
95+
testing_mode: build-only
96+
target_devices: native_cpu
97+
sycl_compiler: $GITHUB_WORKSPACE/toolchain/bin/clang++
98+
extra_lit_opts: --param sycl_build_targets="native_cpu"
99+
extra_cmake_args: -DSYCL_TEST_E2E_TARGETS="native_cpu:cpu" -DSYCL_TEST_E2E_STANDALONE=ON
100+
65101
# If a PR changes CUDA adapter, run the build on Ubuntu 22.04 as well.
66102
# Ubuntu 22.04 container has CUDA 12.1 installed while Ubuntu 24.0 image
67103
# has CUDA 12.6.1 installed.

clang/lib/Sema/SemaSYCL.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6822,13 +6822,13 @@ class FreeFunctionPrinter {
68226822
continue;
68236823
}
68246824

6825-
TemplateName TN = TST->getTemplateName();
6825+
TemplateName CTN = CTST->getTemplateName();
6826+
CTN.getAsTemplateDecl()->printQualifiedName(ParmListOstream);
6827+
ParmListOstream << "<";
6828+
68266829
auto SpecArgs = TST->template_arguments();
68276830
auto DeclArgs = CTST->template_arguments();
68286831

6829-
TN.getAsTemplateDecl()->printQualifiedName(ParmListOstream);
6830-
ParmListOstream << "<";
6831-
68326832
for (size_t I = 0, E = std::max(DeclArgs.size(), SpecArgs.size()),
68336833
SE = SpecArgs.size();
68346834
I < E; ++I) {
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
// RUN: %clang_cc1 -fsycl-is-device -internal-isystem %S/Inputs -triple spir64-unknown-unknown -sycl-std=2020 -fsycl-int-header=%t.h %s
2+
// RUN: FileCheck -input-file=%t.h %s
3+
//
4+
// The purpose of this test is to ensure that forward declarations of free
5+
// function kernels are emitted properly.
6+
// However, this test checks a specific scenario:
7+
// - free function arguments are type aliases (through using or typedef)
8+
9+
namespace ns {
10+
11+
using IntUsing = int;
12+
typedef int IntTypedef;
13+
14+
template <typename T>
15+
struct Foo {};
16+
17+
using FooIntUsing = Foo<int>;
18+
typedef Foo<int> FooIntTypedef;
19+
20+
template <typename T1, typename T2>
21+
struct Bar {};
22+
23+
template<typename T1>
24+
using BarUsing = Bar<T1, float>;
25+
26+
class Baz {
27+
public:
28+
using type = BarUsing<double>;
29+
};
30+
31+
} // namespace ns
32+
33+
[[__sycl_detail__::add_ir_attributes_function("sycl-nd-range-kernel", 2)]]
34+
void int_using(ns::IntUsing Arg) {}
35+
36+
// CHECK: void int_using(int Arg);
37+
38+
[[__sycl_detail__::add_ir_attributes_function("sycl-nd-range-kernel", 2)]]
39+
void int_typedef(ns::IntTypedef Arg) {}
40+
41+
// CHECK: void int_typedef(int Arg);
42+
43+
[[__sycl_detail__::add_ir_attributes_function("sycl-nd-range-kernel", 2)]]
44+
void foo_using(ns::FooIntUsing Arg) {}
45+
46+
// CHECK: void foo_using(ns::Foo<int> Arg);
47+
48+
[[__sycl_detail__::add_ir_attributes_function("sycl-nd-range-kernel", 2)]]
49+
void foo_typedef(ns::FooIntTypedef Arg) {}
50+
51+
// CHECK: void foo_typedef(ns::Foo<int> Arg);
52+
53+
template<typename T>
54+
[[__sycl_detail__::add_ir_attributes_function("sycl-nd-range-kernel", 2)]]
55+
void bar_using(ns::BarUsing<T> Arg) {}
56+
template void bar_using(ns::BarUsing<int>);
57+
58+
// CHECK: template <typename T> void bar_using(ns::Bar<T, float>);
59+
60+
[[__sycl_detail__::add_ir_attributes_function("sycl-nd-range-kernel", 2)]]
61+
void baz_type(ns::Baz::type Arg) {}
62+
63+
// CHECK: void baz_type(ns::Bar<double, float> Arg);

devops/dependencies-igc-dev.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{
22
"linux": {
33
"igc_dev": {
4-
"github_tag": "igc-dev-5a47189",
5-
"version": "5a47189",
6-
"updated_at": "2025-09-18T02:11:35Z",
7-
"url": "https://api.github.com/repos/intel/intel-graphics-compiler/actions/artifacts/4041051864/zip",
4+
"github_tag": "igc-dev-6d3f69e",
5+
"version": "6d3f69e",
6+
"updated_at": "2025-09-20T11:44:56Z",
7+
"url": "https://api.github.com/repos/intel/intel-graphics-compiler/actions/artifacts/4062749149/zip",
88
"root": "{DEPS_ROOT}/opencl/runtime/linux/oclgpu"
99
}
1010
}

0 commit comments

Comments
 (0)