18 inline namespace _V1 {
21 #ifndef __SYCL_DEVICE_ONLY__
28 template <
bool Cond,
typename TrueT,
typename FalseT>
struct conditional {
31 template <
typename TrueT,
typename FalseT>
64 static constexpr
const char *
getName() {
return ""; }
77 #ifndef __SYCL_UNNAMED_LAMBDA__
84 static constexpr
const char *
getName() {
return ""; }
85 static constexpr
bool isESIMD() {
return 0; }
93 template <
char...>
struct KernelInfoData {
94 static constexpr
unsigned getNumParams() {
return 0; }
95 static const kernel_param_desc_t &getParamDesc(
int) {
96 static kernel_param_desc_t Dummy;
99 static constexpr
const char *getName() {
return ""; }
100 static constexpr
bool isESIMD() {
return 0; }
101 static constexpr
const char *getFileName() {
return ""; }
102 static constexpr
const char *getFunctionName() {
return ""; }
103 static constexpr
unsigned getLineNumber() {
return 0; }
104 static constexpr
unsigned getColumnNumber() {
return 0; }
105 static constexpr
int64_t getKernelSize() {
return 0; }
110 template <
class T, T...>
struct integer_sequence {};
111 template <
unsigned long long... I>
112 using index_sequence = integer_sequence<
unsigned long long, I...>;
113 template <
unsigned long long N>
114 using make_index_sequence =
115 __make_integer_seq<integer_sequence, unsigned long long, N>;
117 template <
typename T>
struct KernelInfoImpl {
119 static constexpr
auto n = __builtin_sycl_unique_stable_name(T);
120 template <
unsigned long long... I>
121 static KernelInfoData<n[I]...> impl(index_sequence<I...>) {
126 using type = decltype(impl(make_index_sequence<__builtin_strlen(n)>{}));
134 template <
class KernelNameType>
struct KernelInfo {
135 using SubKernelInfo =
typename KernelInfoImpl<KernelNameType>::type;
137 return SubKernelInfo::getNumParams();
139 static const kernel_param_desc_t &
getParamDesc(
int Idx) {
140 return SubKernelInfo::getParamDesc(Idx);
142 static constexpr
const char *
getName() {
return SubKernelInfo::getName(); }
143 static constexpr
bool isESIMD() {
return SubKernelInfo::isESIMD(); }
144 static constexpr
const char *
getFileName() {
return ""; }
149 return SubKernelInfo::getKernelSize();
@ kind_specialization_constants_buffer
conditional< sizeof(long)==8, long, long long >::type int64_t
const char * get_spec_constant_symbolic_ID()
const char * get_spec_constant_symbolic_ID_impl()
static constexpr unsigned getColumnNumber()
static constexpr const char * getName()
static constexpr unsigned getNumParams()
static const kernel_param_desc_t & getParamDesc(int)
static constexpr bool isESIMD()
static constexpr const char * getFunctionName()
static constexpr const char * getFileName()
static constexpr int64_t getKernelSize()
static constexpr unsigned getLineNumber()
static constexpr const char * getName()