|  | 
| 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