Skip to content

Commit 0a83bce

Browse files
committed
[SYCL] Some refactoring of integration header and fix one test
Delete a dependence of sycl runtime Move include kernel_desc.hpp to higher than forward declarations. Signed-off-by: Vladimir Lazarev <[email protected]>
1 parent 0bab53d commit 0a83bce

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

clang/lib/Sema/SemaSYCL.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -807,19 +807,20 @@ void SYCLIntegrationHeader::emitForwardClassDecls(
807807

808808
void SYCLIntegrationHeader::emit(raw_ostream &O) {
809809
O << "// This is auto-generated SYCL integration header.\n";
810+
O << "\n";
811+
812+
O << "#include <CL/sycl/detail/kernel_desc.hpp>\n";
813+
810814
O << "\n";
811815
O << "// Forward declarations of templated kernel function types:\n";
812816

813817
llvm::SmallPtrSet<const void *, 4> Printed;
814-
815818
for (const KernelDesc &K : KernelDescs) {
816819
emitForwardClassDecls(O, K.NameType, Printed);
817820
}
818821
O << "\n";
819822

820-
O << "#include <CL/sycl/detail/kernel_desc.hpp>\n";
821823

822-
O << "\n";
823824

824825
O << "namespace cl {\n";
825826
O << "namespace sycl {\n";

clang/test/CodeGenSYCL/integration_header.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
// RUN: %clang --sycl -Xclang -fsycl-int-header=%t.h %s -c -o %T/kernel.spv
22
// RUN: FileCheck -input-file=%t.h %s
33
//
4+
// CHECK: #include <CL/sycl/detail/kernel_desc.hpp>
5+
//
46
// CHECK: class first_kernel;
57
// CHECK-NEXT: namespace second_namespace {
68
// CHECK-NEXT: template <typename T> class second_kernel;
@@ -9,8 +11,6 @@
911
// CHECK-NEXT: template <typename T> struct point;
1012
// CHECK-NEXT: template <int a, typename T1, typename T2> class third_kernel;
1113
//
12-
// CHECK: #include <CL/sycl/detail/kernel_desc.hpp>
13-
//
1414
// CHECK: static constexpr
1515
// CHECK-NEXT: const char* const kernel_names[] = {
1616
// CHECK-NEXT: "first_kernel",

0 commit comments

Comments
 (0)