|
24 | 24 | // CHECK-NEXT: "_ZTSZ4mainE16accessor_in_base"
|
25 | 25 | // CHECK-NEXT: };
|
26 | 26 | //
|
27 |
| -// CHECK: static constexpr |
28 |
| -// CHECK-NEXT: const bool kernel_param_used[] = { |
29 |
| -// CHECK-NEXT: //PARAM_USED_TABLE_BEGIN |
30 |
| -// CHECK-NEXT: //kernel_name_1 |
31 |
| -// CHECK-NEXT: true, true, true |
32 |
| -// CHECK-NEXT: //kernel_name_2 |
33 |
| -// CHECK-NEXT: true, true, true |
34 |
| -// CHECK-NEXT: //PARAM_USED_TABLE_END |
35 |
| -// CHECK-NEXT: } |
36 |
| - |
| 27 | +// CHECK: static constexpr |
| 28 | +// CHECK-NEXT: const bool param_omit_table[] = { |
| 29 | +// CHECK-NEXT: // OMIT_TABLE_BEGIN |
| 30 | +// CHECK-NEXT: //--- _ZTSZ4mainE12first_kernel |
| 31 | +// CHECK-NEXT: false, false, false, false, false, false, false, false, false, false, false, false, |
| 32 | +// CHECK-NEXT: //--- _ZTSN16second_namespace13second_kernelIcEE |
| 33 | +// CHECK-NEXT: false, false, false, false, false, false, |
| 34 | +// CHECK-NEXT: //--- _ZTS12third_kernelILi1Ei5pointIZ4mainE1XEE |
| 35 | +// CHECK-NEXT: false, false, false, false, false, false, |
| 36 | +// CHECK-NEXT: //--- _ZTS13fourth_kernelIJN15template_arg_ns14namespaced_argILi1EEEEE |
| 37 | +// CHECK-NEXT: false, false, false, false, false, |
| 38 | +// CHECK-NEXT: //--- _ZTSZ4mainE16accessor_in_base |
| 39 | +// CHECK-NEXT: false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, |
| 40 | +// CHECK-NEXT: // OMIT_TABLE_END |
| 41 | +// CHECK-NEXT: }; |
37 | 42 | // CHECK: static constexpr
|
38 | 43 | // CHECK-NEXT: const kernel_param_desc_t kernel_signatures[] = {
|
39 | 44 | // CHECK-NEXT: //--- _ZTSZ4mainE12first_kernel
|
40 |
| -// CHECK-NEXT: { kernel_param_kind_t::kind_std_layout, 4, 0, kernel_param_used[0] }, |
41 |
| -// CHECK-NEXT: { kernel_param_kind_t::kind_std_layout, 1, 4, kernel_param_used[1] }, |
42 |
| -// CHECK-NEXT: { kernel_param_kind_t::kind_std_layout, 4, 8, kernel_param_used[2] }, |
43 |
| -// CHECK-NEXT: { kernel_param_kind_t::kind_accessor, 4062, 12, kernel_param_used[3] }, |
44 |
| -// CHECK-NEXT: { kernel_param_kind_t::kind_accessor, 6112, 24, kernel_param_used[4] }, |
45 |
| -// CHECK-NEXT: { kernel_param_kind_t::kind_sampler, 8, 40, kernel_param_used[5] }, |
| 45 | +// CHECK-NEXT: { kernel_param_kind_t::kind_std_layout, 4, 0, param_omit_table[0]}, |
| 46 | +// CHECK-NEXT: { kernel_param_kind_t::kind_std_layout, 1, 4, param_omit_table[1]}, |
| 47 | +// CHECK-NEXT: { kernel_param_kind_t::kind_std_layout, 4, 8, param_omit_table[2]}, |
| 48 | +// CHECK-NEXT: { kernel_param_kind_t::kind_accessor, 4062, 12, param_omit_table[3] | (param_omit_table[4] << 1) | (param_omit_table[5] << 2) | (param_omit_table[6] << 3)}, |
| 49 | +// CHECK-NEXT: { kernel_param_kind_t::kind_accessor, 6112, 24, param_omit_table[7] | (param_omit_table[8] << 1) | (param_omit_table[9] << 2) | (param_omit_table[10] << 3)}, |
| 50 | +// CHECK-NEXT: { kernel_param_kind_t::kind_sampler, 8, 40, param_omit_table[11]}, |
46 | 51 | // CHECK-EMPTY:
|
47 | 52 | // CHECK-NEXT: //--- _ZTSN16second_namespace13second_kernelIcEE
|
48 |
| -// CHECK-NEXT: { kernel_param_kind_t::kind_std_layout, 4, 0, kernel_param_used[0] }, |
49 |
| -// CHECK-NEXT: { kernel_param_kind_t::kind_accessor, 6112, 4, kernel_param_used[1] }, |
50 |
| -// CHECK-NEXT: { kernel_param_kind_t::kind_sampler, 8, 16, kernel_param_used[2] }, |
| 53 | +// CHECK-NEXT: { kernel_param_kind_t::kind_std_layout, 4, 0, param_omit_table[12]}, |
| 54 | +// CHECK-NEXT: { kernel_param_kind_t::kind_accessor, 6112, 4, param_omit_table[13] | (param_omit_table[14] << 1) | (param_omit_table[15] << 2) | (param_omit_table[16] << 3)}, |
| 55 | +// CHECK-NEXT: { kernel_param_kind_t::kind_sampler, 8, 16, param_omit_table[17]}, |
51 | 56 | // CHECK-EMPTY:
|
52 | 57 | // CHECK-NEXT: //--- _ZTS12third_kernelILi1Ei5pointIZ4mainE1XEE
|
53 |
| -// CHECK-NEXT: { kernel_param_kind_t::kind_std_layout, 4, 0, kernel_param_used[0] }, |
54 |
| -// CHECK-NEXT: { kernel_param_kind_t::kind_accessor, 6112, 4, kernel_param_used[1] }, |
55 |
| -// CHECK-NEXT: { kernel_param_kind_t::kind_sampler, 8, 16, kernel_param_used[2] }, |
| 58 | +// CHECK-NEXT: { kernel_param_kind_t::kind_std_layout, 4, 0, param_omit_table[18]}, |
| 59 | +// CHECK-NEXT: { kernel_param_kind_t::kind_accessor, 6112, 4, param_omit_table[19] | (param_omit_table[20] << 1) | (param_omit_table[21] << 2) | (param_omit_table[22] << 3)}, |
| 60 | +// CHECK-NEXT: { kernel_param_kind_t::kind_sampler, 8, 16, param_omit_table[23]}, |
56 | 61 | // CHECK-EMPTY:
|
57 | 62 | // CHECK-NEXT: //--- _ZTS13fourth_kernelIJN15template_arg_ns14namespaced_argILi1EEEEE
|
58 |
| -// CHECK-NEXT: { kernel_param_kind_t::kind_std_layout, 4, 0, kernel_param_used[0] }, |
59 |
| -// CHECK-NEXT: { kernel_param_kind_t::kind_accessor, 6112, 4, kernel_param_used[1] }, |
| 63 | +// CHECK-NEXT: { kernel_param_kind_t::kind_std_layout, 4, 0, param_omit_table[24]}, |
| 64 | +// CHECK-NEXT: { kernel_param_kind_t::kind_accessor, 6112, 4, param_omit_table[25] | (param_omit_table[26] << 1) | (param_omit_table[27] << 2) | (param_omit_table[28] << 3)}, |
60 | 65 | // CHECK-EMPTY:
|
61 |
| -// CHECK-NEXT: //--- _ZTSZ4mainE16accessor_in_base |
62 |
| -// CHECK-NEXT: { kernel_param_kind_t::kind_std_layout, 4, 0, kernel_param_used[0] }, |
63 |
| -// CHECK-NEXT: { kernel_param_kind_t::kind_std_layout, 4, 4, kernel_param_used[1] }, |
64 |
| -// CHECK-NEXT: { kernel_param_kind_t::kind_accessor, 4062, 8, kernel_param_used[2] }, |
65 |
| -// CHECK-NEXT: { kernel_param_kind_t::kind_std_layout, 4, 20, kernel_param_used[3] }, |
66 |
| -// CHECK-NEXT: { kernel_param_kind_t::kind_accessor, 4062, 24, kernel_param_used[4] }, |
67 |
| -// CHECK-NEXT: { kernel_param_kind_t::kind_std_layout, 4, 36, kernel_param_used[5] }, |
68 |
| -// CHECK-NEXT: { kernel_param_kind_t::kind_accessor, 4062, 40, kernel_param_used[6] }, |
69 |
| -// CHECK-NEXT: { kernel_param_kind_t::kind_accessor, 4062, 52, kernel_param_used[7] }, |
| 66 | +// CHECK-NEXT: //--- _ZTSZ4mainE16accessor_in_base |
| 67 | +// CHECK-NEXT: { kernel_param_kind_t::kind_std_layout, 4, 0, param_omit_table[29]}, |
| 68 | +// CHECK-NEXT: { kernel_param_kind_t::kind_std_layout, 4, 4, param_omit_table[30]}, |
| 69 | +// CHECK-NEXT: { kernel_param_kind_t::kind_accessor, 4062, 8, param_omit_table[31] | (param_omit_table[32] << 1) | (param_omit_table[33] << 2) | (param_omit_table[34] << 3)}, |
| 70 | +// CHECK-NEXT: { kernel_param_kind_t::kind_std_layout, 4, 20, param_omit_table[35]}, |
| 71 | +// CHECK-NEXT: { kernel_param_kind_t::kind_accessor, 4062, 24, param_omit_table[36] | (param_omit_table[37] << 1) | (param_omit_table[38] << 2) | (param_omit_table[39] << 3)}, |
| 72 | +// CHECK-NEXT: { kernel_param_kind_t::kind_std_layout, 4, 36, param_omit_table[40]}, |
| 73 | +// CHECK-NEXT: { kernel_param_kind_t::kind_accessor, 4062, 40, param_omit_table[41] | (param_omit_table[42] << 1) | (param_omit_table[43] << 2) | (param_omit_table[44] << 3)}, |
| 74 | +// CHECK-NEXT: { kernel_param_kind_t::kind_accessor, 4062, 52, param_omit_table[45] | (param_omit_table[46] << 1) | (param_omit_table[47] << 2) | (param_omit_table[48] << 3)}, |
70 | 75 | // CHECK-EMPTY:
|
71 | 76 | // CHECK-NEXT: };
|
72 |
| -// |
| 77 | + |
73 | 78 | // CHECK: template <> struct KernelInfo<class first_kernel> {
|
74 | 79 | // CHECK: template <> struct KernelInfo<::second_namespace::second_kernel<char>> {
|
75 | 80 | // CHECK: template <> struct KernelInfo<::third_kernel<1, int, ::point<X>>> {
|
|
0 commit comments