20 #ifndef __SYCL_DEVICE_ONLY__
51 static constexpr
const char *
getName() {
return ""; }
57 #if __cplusplus >= 201703L
61 template <auto &SpecName>
const char *get_spec_constant_symbolic_ID_impl();
66 template <auto &SpecName>
const char *get_spec_constant_symbolic_ID();
69 #ifndef __SYCL_UNNAMED_LAMBDA__
76 static constexpr
const char *
getName() {
return ""; }
77 static constexpr
bool isESIMD() {
return 0; }
84 template <
char...>
struct KernelInfoData {
85 static constexpr
unsigned getNumParams() {
return 0; }
86 static const kernel_param_desc_t &getParamDesc(
int Idx) {
87 static kernel_param_desc_t Dummy;
90 static constexpr
const char *getName() {
return ""; }
91 static constexpr
bool isESIMD() {
return 0; }
92 static constexpr
const char *getFileName() {
return ""; }
93 static constexpr
const char *getFunctionName() {
return ""; }
94 static constexpr
unsigned getLineNumber() {
return 0; }
95 static constexpr
unsigned getColumnNumber() {
return 0; }
100 template <
class T,
T...>
struct integer_sequence {};
101 template <
unsigned long long... I>
102 using index_sequence = integer_sequence<
unsigned long long, I...>;
103 template <
unsigned long long N>
104 using make_index_sequence =
105 __make_integer_seq<integer_sequence, unsigned long long, N>;
107 template <
typename T>
struct KernelInfoImpl {
109 static constexpr
auto n = __builtin_sycl_unique_stable_name(
T);
110 template <
unsigned long long... I>
111 static KernelInfoData<n[I]...> impl(index_sequence<I...>) {
116 using type = decltype(impl(make_index_sequence<__builtin_strlen(n)>{}));
124 template <
class KernelNameType>
struct KernelInfo {
125 using SubKernelInfo =
typename KernelInfoImpl<KernelNameType>::type;
126 static constexpr
unsigned getNumParams() {
127 return SubKernelInfo::getNumParams();
129 static const kernel_param_desc_t &getParamDesc(
int Idx) {
130 return SubKernelInfo::getParamDesc(Idx);
132 static constexpr
const char *getName() {
return SubKernelInfo::getName(); }
133 static constexpr
bool isESIMD() {
return SubKernelInfo::isESIMD(); }
134 static constexpr
const char *getFileName() {
return ""; }
135 static constexpr
const char *getFunctionName() {
return ""; }
136 static constexpr
unsigned getLineNumber() {
return 0; }
137 static constexpr
unsigned getColumnNumber() {
return 0; }
139 #endif //__SYCL_UNNAMED_LAMBDA__