|
1 | 1 | // RUN: %clang_cc1 -fsycl-is-device -triple spir64-unknown-unknown-sycldevice -disable-llvm-passes -emit-llvm %s -o %t.ll
|
2 | 2 | // RUN: FileCheck < %t.ll --enable-var-scope %s
|
3 | 3 | //
|
4 |
| - |
5 | 4 | // CHECK: %[[RANGE_TYPE:"struct.*cl::sycl::range"]]
|
6 | 5 | // CHECK: %[[ID_TYPE:"struct.*cl::sycl::id"]]
|
| 6 | + |
7 | 7 | // CHECK: define dso_local spir_kernel void @{{.*}}StreamTester
|
8 | 8 | // CHECK-SAME: i8 addrspace(1)* [[ACC_DATA:%[a-zA-Z0-9_]+]],
|
9 | 9 | // CHECK-SAME: %[[RANGE_TYPE]]* byval(%[[RANGE_TYPE]]) align 4 [[ACC_RANGE1:%[a-zA-Z0-9_]+]],
|
10 | 10 | // CHECK-SAME: %[[RANGE_TYPE]]* byval(%[[RANGE_TYPE]]) align 4 [[ACC_RANGE2:%[a-zA-Z0-9_]+]],
|
11 | 11 | // CHECK-SAME: %[[ID_TYPE]]* byval(%[[ID_TYPE]]) align 4 [[ACC_ID:%[a-zA-Z0-9_]+]],
|
12 | 12 | // CHECK-SAME: i32 [[ACC_INT:%[a-zA-Z0-9_]+]])
|
13 | 13 |
|
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]+}}) |
16 | 22 |
|
17 | 23 | #include "Inputs/sycl.hpp"
|
18 | 24 |
|
|
0 commit comments