Skip to content

Commit 84dc696

Browse files
committed
Fix after review
Signed-off-by: Zahira Ammarguellat <zahira.ammarguellat@intel.com>
1 parent ab02a86 commit 84dc696

File tree

3 files changed

+13
-13
lines changed

3 files changed

+13
-13
lines changed

clang/lib/Sema/SemaSYCL.cpp

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2372,15 +2372,6 @@ class SyclOptReportCreator : public SyclKernelFieldHandler {
23722372
}
23732373

23742374
bool handleSyclStreamType(FieldDecl *FD, QualType FieldTy) final {
2375-
// For the current implementation of stream class, the Visitor 'handles'
2376-
// stream argument and then visits each accessor field in stream. Therefore
2377-
// handleSpecialType in this case only adds a single argument for stream.
2378-
// The arguments corresponding to accessors in stream are handled in
2379-
// handleSyclAccessorType. The opt-report therefore does not diffrentiate
2380-
// between the accessors in streams and accessors captured by SYCL kernel.
2381-
// Once stream API is modified to use __init(), the visitor will no longer
2382-
// visit the stream object and opt-report output for stream class will be
2383-
// similar to that of other special types.
23842375
return handleSpecialType(
23852376
FD, FieldTy, KernelArgDescription(KernelArgDescription::Stream));
23862377
}

clang/test/CodeGenSYCL/stream.cpp

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,24 @@
11
// RUN: %clang_cc1 -fsycl-is-device -triple spir64-unknown-unknown-sycldevice -disable-llvm-passes -emit-llvm %s -o %t.ll
22
// RUN: FileCheck < %t.ll --enable-var-scope %s
33
//
4-
54
// CHECK: %[[RANGE_TYPE:"struct.*cl::sycl::range"]]
65
// CHECK: %[[ID_TYPE:"struct.*cl::sycl::id"]]
6+
77
// CHECK: define dso_local spir_kernel void @{{.*}}StreamTester
88
// CHECK-SAME: i8 addrspace(1)* [[ACC_DATA:%[a-zA-Z0-9_]+]],
99
// CHECK-SAME: %[[RANGE_TYPE]]* byval(%[[RANGE_TYPE]]) align 4 [[ACC_RANGE1:%[a-zA-Z0-9_]+]],
1010
// CHECK-SAME: %[[RANGE_TYPE]]* byval(%[[RANGE_TYPE]]) align 4 [[ACC_RANGE2:%[a-zA-Z0-9_]+]],
1111
// CHECK-SAME: %[[ID_TYPE]]* byval(%[[ID_TYPE]]) align 4 [[ACC_ID:%[a-zA-Z0-9_]+]],
1212
// CHECK-SAME: i32 [[ACC_INT:%[a-zA-Z0-9_]+]])
1313

14-
// CHECK: call spir_func void @{{.*}}__init{{.*}}(%{{.*}}cl::sycl::stream{{.*}} addrspace(4)* align 4 dereferenceable_or_null(16) %4, i8 addrspace(1)* %5, %[[RANGE_TYPE]]* byval(%[[RANGE_TYPE]]) {{.*}}%{{.*}}
15-
// CHECK: call spir_func void @{{.*}}__finalizeEv{{.*}}(%{{.*}}cl::sycl::stream{{.*}}" addrspace(4)* align 4 dereferenceable_or_null(16) %{{[0-9]+}})
14+
// Alloca and addrspace casts for kernel parameters
15+
// CHECK: [[ARG:%[a-zA-Z0-9_]+]].addr = alloca i8 addrspace(1)*, align 8
16+
// CHECK: [[ARG:%[a-zA-Z0-9_]+]].addr.ascast = addrspacecast i8 addrspace(1)** [[ARG]].addr to i8 addrspace(1)* addrspace(4)*
17+
// CHECK: [[ARG_LOAD:%[a-zA-Z0-9_]+]] = load i8 addrspace(1)*, i8 addrspace(1)* addrspace(4)* [[ARG]].addr.ascast, align 8,
18+
19+
// Check __init and __finalize method calls
20+
// CHECK: call spir_func void @{{.*}}__init{{.*}}(%{{.*}}cl::sycl::stream" addrspace(4)* align 4 dereferenceable_or_null(16) %4, i8 addrspace(1)* [[ARG_LOAD]], %[[RANGE_TYPE]]* byval(%[[RANGE_TYPE]]) {{.*}}%{{.*}}
21+
// CHECK: call spir_func void @_ZN2cl4sycl6stream10__finalizeEv(%{{.*}}cl::sycl::stream" addrspace(4)* align 4 dereferenceable_or_null(16) %{{[0-9]+}})
1622

1723
#include "Inputs/sycl.hpp"
1824

clang/test/SemaSYCL/streams.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,9 @@ int main() {
114114
// element 1
115115
// CHECK-NEXT: CXXConstructExpr {{.*}} 'sycl::stream':'sycl::stream' 'void () noexcept'
116116

117-
// HasArrayOfHasStreams struct
117+
// HasArrayOfHasStreams Array
118118
// CHECK: InitListExpr {{.*}} 'HasArrayOfHasStreams [2]'
119+
// // HasArrayOfHasStreams Struct
119120
// CHECK-NEXT: InitListExpr {{.*}} 'HasArrayOfHasStreams'
120121
// HasArrayOfHasStreams::i
121122
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
@@ -142,6 +143,7 @@ int main() {
142143
// CHECK-NEXT: CXXConstructExpr {{.*}} 'sycl::stream':'sycl::stream' 'void () noexcept'
143144
// element 1
144145
// CHECK-NEXT: CXXConstructExpr {{.*}} 'sycl::stream':'sycl::stream' 'void () noexcept'
146+
// HasArrayOfHasStreams Struct
145147
// CHECK-NEXT: InitListExpr {{.*}} 'HasArrayOfHasStreams'
146148
// HasArrayOfHasStreams::i
147149
// CHECK-NEXT: ImplicitCastExpr {{.*}} 'int' <LValueToRValue>
@@ -545,6 +547,7 @@ int main() {
545547
// CHECK-NEXT: MemberExpr {{.*}} 'sycl::stream [2]' lvalue
546548
// CHECK-NEXT: DeclRefExpr {{.*}} '(lambda at
547549
// CHECK-NEXT: IntegerLiteral {{.*}} '{{.*}}' 1
550+
548551
// _in_lambda_mdarray
549552
// [0][0]
550553
// CHECK: CXXMemberCallExpr {{.*}} 'void'

0 commit comments

Comments
 (0)