1
1
// REQUIRES: xptifw, opencl
2
2
// RUN: %clangxx %s -DXPTI_COLLECTOR -DXPTI_CALLBACK_API_EXPORTS %xptifw_lib %shared_lib %fPIC %cxx_std_optionc++17 -o %t_collector.dll
3
- // RUN: %clangxx -fsycl %s -o %t.out
4
- // RUN: env XPTI_TRACE_ENABLE=1 XPTI_FRAMEWORK_DISPATCHER=%xptifw_dispatcher XPTI_SUBSCRIBERS=%t_collector.dll %BE_RUN_PLACEHOLDER %t.out | FileCheck %s 2>&1
3
+ // RUN: %clangxx -fsycl -O2 %s -o %t.opt.out
4
+ // RUN: env XPTI_TRACE_ENABLE=1 XPTI_FRAMEWORK_DISPATCHER=%xptifw_dispatcher XPTI_SUBSCRIBERS=%t_collector.dll %BE_RUN_PLACEHOLDER %t.opt.out | FileCheck %s --check-prefixes=CHECK,CHECK-OPT
5
+ // RUN: %clangxx -fsycl -fno-sycl-dead-args-optimization %s -o %t.noopt.out
6
+ // RUN: env XPTI_TRACE_ENABLE=1 XPTI_FRAMEWORK_DISPATCHER=%xptifw_dispatcher XPTI_SUBSCRIBERS=%t_collector.dll %BE_RUN_PLACEHOLDER %t.noopt.out | FileCheck %s --check-prefixes=CHECK,CHECK-NOOPT
5
7
6
8
#ifdef XPTI_COLLECTOR
7
9
@@ -56,19 +58,20 @@ int main() {
56
58
auto A1 = Buf.get_access <mode::read_write>(cgh);
57
59
// CHECK: {{[0-9]+}}|Construct accessor|0x0|[[ACCID2:.*]]|2016|1026|{{.*}}.cpp:[[# @LINE + 1]]:65
58
60
sycl::accessor<int , 1 , mode::read_write, target::local> A2 (Range, cgh);
59
- // CHECK:Node create|{{.*}}FillBuffer{{.*}}|{{.*}}.cpp:[[# @LINE - 6 ]]:3|{5, 1, 1}, {0, 0, 0}, {0, 0, 0}, 6
61
+ // CHECK-OPT:Node create|{{.*}}FillBuffer{{.*}}|{{.*}}.cpp:[[# @LINE - 6 ]]:3|{5, 1, 1}, {0, 0, 0}, {0, 0, 0}, 6
62
+ // CHECK-NOOPT:Node create|{{.*}}FillBuffer{{.*}}|{{.*}}.cpp:[[# @LINE - 7 ]]:3|{5, 1, 1}, {0, 0, 0}, {0, 0, 0}, 12
60
63
cgh.parallel_for <class FillBuffer >(
61
64
Range, [=](sycl::id<1 > WIid, sycl::kernel_handler kh) {
62
- // CHECK: arg0 : {1, {{[0-9,a-f,x]+}}, 2, 0}
65
+ // CHECK-OPT : arg0 : {1, {{[0-9,a-f,x]+}}, 2, 0}
63
66
int h = Val;
64
- // CHECK: arg1 : {1, {{.*}}0, 20, 1}
67
+ // CHECK-OPT : arg1 : {1, {{.*}}0, 20, 1}
65
68
A2[WIid[0 ]] = h;
66
- // CHECK: arg2 : {0, [[ACCID1]], 4062, 2}
67
- // CHECK: arg3 : {1, [[ACCID1]], 8, 3}
69
+ // CHECK-OPT : arg2 : {0, [[ACCID1]], 4062, 2}
70
+ // CHECK-OPT : arg3 : {1, [[ACCID1]], 8, 3}
68
71
A1[WIid[0 ]] = A2[WIid[0 ]];
69
- // CHECK: arg4 : {3, {{.*}}, 8, 4}
72
+ // CHECK-OPT : arg4 : {3, {{.*}}, 8, 4}
70
73
PtrDevice[WIid[0 ]] = WIid[0 ];
71
- // CHECK: arg5 : {3, {{.*}}, 8, 5}
74
+ // CHECK-OPT : arg5 : {3, {{.*}}, 8, 5}
72
75
PtrShared[WIid[0 ]] = PtrDevice[WIid[0 ]];
73
76
});
74
77
})
@@ -81,22 +84,24 @@ int main() {
81
84
// CHECK: {{[0-9]+}}|Construct accessor|[[BUFFERID]]|[[ACCID4:.+]]|2014|1026|{{.*}}.cpp:[[# @LINE + 1]]:16
82
85
auto Acc = Buf.get_access <mode::read_write>(cgh);
83
86
Functor1 F (Val, Acc);
84
- // CHECK: Node create|{{.*}}Functor1|{{.*}}.cpp:[[# @LINE - 4 ]]:3|{1, 1, 1}, {0, 0, 0}, {0, 0, 0}, 3
87
+ // CHECK-OPT: Node create|{{.*}}Functor1|{{.*}}.cpp:[[# @LINE - 4 ]]:3|{1, 1, 1}, {0, 0, 0}, {0, 0, 0}, 3
88
+ // CHECK-NOOPT: Node create|{{.*}}Functor1|{{.*}}.cpp:[[# @LINE - 5 ]]:3|{1, 1, 1}, {0, 0, 0}, {0, 0, 0}, 5
85
89
cgh.single_task (F);
86
- // CHECK: arg0 : {1, {{[0-9,a-f,x]+}}, 2, 0}
87
- // CHECK: arg1 : {0, [[ACCID4]], 4062, 1}
88
- // CHECK: arg2 : {1, [[ACCID4]], 8, 2}
90
+ // CHECK-OPT : arg0 : {1, {{[0-9,a-f,x]+}}, 2, 0}
91
+ // CHECK-OPT : arg1 : {0, [[ACCID4]], 4062, 1}
92
+ // CHECK-OPT : arg2 : {1, [[ACCID4]], 8, 2}
89
93
});
90
94
91
95
Queue.submit ([&](cl::sycl::handler &cgh) {
92
96
// CHECK: {{[0-9]+}}|Construct accessor|[[BUFFERID]]|[[ACCID5:.+]]|2014|1026|{{.*}}.cpp:[[# @LINE + 1]]:16
93
97
auto Acc = Buf.get_access <mode::read_write>(cgh);
94
98
Functor2 F (Val, Acc);
95
- // CHECK: Node create|{{.*}}Functor2|{{.*}}.cpp:[[# @LINE - 4 ]]:3|{5, 1, 1}, {0, 0, 0}, {0, 0, 0}, 3
99
+ // CHECK-OPT: Node create|{{.*}}Functor2|{{.*}}.cpp:[[# @LINE - 4 ]]:3|{5, 1, 1}, {0, 0, 0}, {0, 0, 0}, 3
100
+ // CHECK-NOOPT: Node create|{{.*}}Functor2|{{.*}}.cpp:[[# @LINE - 5 ]]:3|{5, 1, 1}, {0, 0, 0}, {0, 0, 0}, 5
96
101
cgh.parallel_for (Range, F);
97
- // CHECK: arg0 : {1, {{[0-9,a-f,x]+}}, 2, 0}
98
- // CHECK: arg1 : {0, [[ACCID5]], 4062, 1}
99
- // CHECK: arg2 : {1, [[ACCID5]], 8, 2}
102
+ // CHECK-OPT : arg0 : {1, {{[0-9,a-f,x]+}}, 2, 0}
103
+ // CHECK-OPT : arg1 : {0, [[ACCID5]], 4062, 1}
104
+ // CHECK-OPT : arg2 : {1, [[ACCID5]], 8, 2}
100
105
});
101
106
102
107
return 0 ;
0 commit comments