Skip to content

Commit 3eaabec

Browse files
authored
[SYCL][ABI-break] Promote detail::string_view breaking changes (#20836)
1 parent 24d6ff9 commit 3eaabec

File tree

5 files changed

+51
-76
lines changed

5 files changed

+51
-76
lines changed

sycl/include/sycl/detail/string_view.hpp

Lines changed: 2 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -22,47 +22,29 @@ namespace detail {
2222

2323
class string_view {
2424
const char *str = nullptr;
25-
#ifdef __INTEL_PREVIEW_BREAKING_CHANGES
2625
size_t len = 0;
27-
#endif
2826

2927
public:
3028
constexpr string_view() noexcept = default;
3129
constexpr string_view(const string_view &strn) noexcept = default;
3230
constexpr string_view(string_view &&strn) noexcept = default;
3331
constexpr string_view(std::string_view strn) noexcept
34-
: str(strn.data())
35-
#ifdef __INTEL_PREVIEW_BREAKING_CHANGES
36-
,
37-
len(strn.size())
38-
#endif
39-
{
40-
}
32+
: str(strn.data()), len(strn.size()) {}
4133
string_view(const sycl::detail::string &strn) noexcept
42-
: str(strn.c_str())
43-
#ifdef __INTEL_PREVIEW_BREAKING_CHANGES
44-
,
45-
len(strlen(strn.c_str()))
46-
#endif
47-
{
48-
}
34+
: str(strn.c_str()), len(strlen(strn.c_str())) {}
4935

5036
constexpr string_view &operator=(string_view &&strn) noexcept = default;
5137
string_view &operator=(const string_view &strn) noexcept = default;
5238

5339
constexpr string_view &operator=(std::string_view strn) noexcept {
5440
str = strn.data();
55-
#ifdef __INTEL_PREVIEW_BREAKING_CHANGES
5641
len = strn.size();
57-
#endif
5842
return *this;
5943
}
6044

6145
string_view &operator=(const sycl::detail::string &strn) noexcept {
6246
str = strn.c_str();
63-
#ifdef __INTEL_PREVIEW_BREAKING_CHANGES
6447
len = strlen(strn.c_str());
65-
#endif
6648
return *this;
6749
}
6850

@@ -71,11 +53,7 @@ class string_view {
7153
constexpr operator std::string_view() const noexcept {
7254
if (str == nullptr)
7355
return std::string_view{};
74-
#ifdef __INTEL_PREVIEW_BREAKING_CHANGES
7556
return std::string_view(str, len);
76-
#else
77-
return std::string_view(str);
78-
#endif
7957
}
8058
};
8159

sycl/source/kernel_bundle.cpp

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -182,14 +182,7 @@ removeDuplicateDevices(const std::vector<device> &Devs) {
182182

183183
kernel_id get_kernel_id_impl(string_view KernelName) {
184184
return detail::ProgramManager::getInstance().getSYCLKernelID(
185-
#ifndef __INTEL_PREVIEW_BREAKING_CHANGES
186-
std::string(
187-
#endif
188-
std::string_view(KernelName)
189-
#ifndef __INTEL_PREVIEW_BREAKING_CHANGES
190-
)
191-
#endif
192-
);
185+
std::string_view(KernelName));
193186
}
194187

195188
detail::KernelBundleImplPtr

sycl/test/abi/layout_compile_time_kernel_info.cpp

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,19 @@ void foo(sycl::detail::compile_time_kernel_info_v1::CompileTimeKernelInfoTy) {}
1111
// CHECK: 0 | struct sycl::detail::CompileTimeKernelInfoTy
1212
// CHECK: 0 | class sycl::detail::string_view Name
1313
// CHECK-NEXT: 0 | const char * str
14-
// CHECK-NEXT: 8 | unsigned int NumParams
15-
// CHECK-NEXT: 12 | _Bool IsESIMD
16-
// CHECK-NEXT: 16 | class sycl::detail::string_view FileName
17-
// CHECK-NEXT: 16 | const char * str
18-
// CHECK-NEXT: 24 | class sycl::detail::string_view FunctionName
14+
// CHECK-NEXT: 8 | size_t len
15+
// CHECK-NEXT: 16 | unsigned int NumParams
16+
// CHECK-NEXT: 20 | _Bool IsESIMD
17+
// CHECK-NEXT: 24 | class sycl::detail::string_view FileName
1918
// CHECK-NEXT: 24 | const char * str
20-
// CHECK-NEXT: 32 | unsigned int LineNumber
21-
// CHECK-NEXT: 36 | unsigned int ColumnNumber
22-
// CHECK-NEXT: 40 | int64_t KernelSize
23-
// CHECK-NEXT: 48 | ParamDescGetterT ParamDescGetter
24-
// CHECK-NEXT: 56 | _Bool HasSpecialCaptures
25-
// CHECK-NEXT: | [sizeof=64, dsize=57, align=8,
26-
// CHECK-NEXT: | nvsize=57, nvalign=8]
19+
// CHECK-NEXT: 32 | size_t len
20+
// CHECK-NEXT: 40 | class sycl::detail::string_view FunctionName
21+
// CHECK-NEXT: 40 | const char * str
22+
// CHECK-NEXT: 48 | size_t len
23+
// CHECK-NEXT: 56 | unsigned int LineNumber
24+
// CHECK-NEXT: 60 | unsigned int ColumnNumber
25+
// CHECK-NEXT: 64 | int64_t KernelSize
26+
// CHECK-NEXT: 72 | ParamDescGetterT ParamDescGetter
27+
// CHECK-NEXT: 80 | _Bool HasSpecialCaptures
28+
// CHECK-NEXT: | [sizeof=88, dsize=81, align=8,
29+
// CHECK-NEXT: | nvsize=81, nvalign=8]

sycl/test/abi/layout_handler.cpp

Lines changed: 32 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -38,35 +38,36 @@ void foo() {
3838
// CHECK-NEXT: 56 | pointer _M_end_of_storage
3939
// CHECK-NEXT: 64 | class sycl::detail::string_view MKernelName
4040
// CHECK-NEXT: 64 | const char * str
41-
// CHECK-NEXT: 72 | class std::shared_ptr<class sycl::detail::kernel_impl> MKernel
42-
// CHECK-NEXT: 72 | class std::__shared_ptr<class sycl::detail::kernel_impl> (base)
43-
// CHECK-NEXT: 72 | class std::__shared_ptr_access<class sycl::detail::kernel_impl, __gnu_cxx::_S_atomic> (base) (empty)
44-
// CHECK-NEXT: 72 | element_type * _M_ptr
45-
// CHECK-NEXT: 80 | class std::__shared_count<> _M_refcount
46-
// CHECK-NEXT: 80 | _Sp_counted_base<(enum __gnu_cxx::_Lock_policy)2U> * _M_pi
47-
// CHECK-NEXT: 88 | void * MSrcPtr
48-
// CHECK-NEXT: 96 | void * MDstPtr
49-
// CHECK-NEXT: 104 | size_t MLength
50-
// CHECK-NEXT: 112 | class std::vector<unsigned char> MPattern
51-
// CHECK-NEXT: 112 | struct std::_Vector_base<unsigned char, class std::allocator<unsigned char> > (base)
52-
// CHECK-NEXT: 112 | struct std::_Vector_base<unsigned char, class std::allocator<unsigned char> >::_Vector_impl _M_impl
53-
// CHECK-NEXT: 112 | class std::allocator<unsigned char> (base) (empty)
54-
// CHECK: 112 | pointer _M_start
55-
// CHECK-NEXT: 120 | pointer _M_finish
56-
// CHECK-NEXT: 128 | pointer _M_end_of_storage
57-
// CHECK-NEXT: 136 | class std::unique_ptr<class sycl::detail::HostKernelBase> MHostKernel
58-
// CHECK-NEXT: 136 | struct std::__uniq_ptr_data<class sycl::detail::HostKernelBase, struct std::default_delete<class sycl::detail::HostKernelBase> >
59-
// CHECK: 136 | class std::__uniq_ptr_impl<class sycl::detail::HostKernelBase, struct std::default_delete<class sycl::detail::HostKernelBase> > (base)
60-
// CHECK-NEXT: 136 | class std::tuple<class sycl::detail::HostKernelBase *, struct std::default_delete<class sycl::detail::HostKernelBase> >
61-
// CHECK-NEXT: 136 | struct std::_Tuple_impl<0, class sycl::detail::HostKernelBase *, struct std::default_delete<class sycl::detail::HostKernelBase> > (base)
62-
// CHECK-NEXT: 136 | struct std::_Tuple_impl<1, struct std::default_delete<class sycl::detail::HostKernelBase> > (base) (empty)
63-
// CHECK: 136 | struct std::_Head_base<0, class sycl::detail::HostKernelBase *> (base)
64-
// CHECK-NEXT: 136 | class sycl::detail::HostKernelBase * _M_head_impl
65-
// CHECK-NEXT: 144 | struct sycl::detail::code_location MCodeLoc
66-
// CHECK-NEXT: 144 | const char * MFileName
67-
// CHECK-NEXT: 152 | const char * MFunctionName
68-
// CHECK-NEXT: 160 | uint32_t MLineNo
69-
// CHECK-NEXT: 164 | uint32_t MColumnNo
70-
// CHECK-NEXT: | [sizeof=168, dsize=168, align=8,
71-
// CHECK-NEXT: | nvsize=168, nvalign=8]
41+
// CHECK-NEXT: 72 | size_t len
42+
// CHECK-NEXT: 80 | class std::shared_ptr<class sycl::detail::kernel_impl> MKernel
43+
// CHECK-NEXT: 80 | class std::__shared_ptr<class sycl::detail::kernel_impl> (base)
44+
// CHECK-NEXT: 80 | class std::__shared_ptr_access<class sycl::detail::kernel_impl, __gnu_cxx::_S_atomic> (base) (empty)
45+
// CHECK-NEXT: 80 | element_type * _M_ptr
46+
// CHECK-NEXT: 88 | class std::__shared_count<> _M_refcount
47+
// CHECK-NEXT: 88 | _Sp_counted_base<(enum __gnu_cxx::_Lock_policy)2U> * _M_pi
48+
// CHECK-NEXT: 96 | void * MSrcPtr
49+
// CHECK-NEXT: 104 | void * MDstPtr
50+
// CHECK-NEXT: 112 | size_t MLength
51+
// CHECK-NEXT: 120 | class std::vector<unsigned char> MPattern
52+
// CHECK-NEXT: 120 | struct std::_Vector_base<unsigned char, class std::allocator<unsigned char> > (base)
53+
// CHECK-NEXT: 120 | struct std::_Vector_base<unsigned char, class std::allocator<unsigned char> >::_Vector_impl _M_impl
54+
// CHECK-NEXT: 120 | class std::allocator<unsigned char> (base) (empty)
55+
// CHECK: 120 | pointer _M_start
56+
// CHECK-NEXT: 128 | pointer _M_finish
57+
// CHECK-NEXT: 136 | pointer _M_end_of_storage
58+
// CHECK-NEXT: 144 | class std::unique_ptr<class sycl::detail::HostKernelBase> MHostKernel
59+
// CHECK-NEXT: 144 | struct std::__uniq_ptr_data<class sycl::detail::HostKernelBase, struct std::default_delete<class sycl::detail::HostKernelBase> >
60+
// CHECK: 144 | class std::__uniq_ptr_impl<class sycl::detail::HostKernelBase, struct std::default_delete<class sycl::detail::HostKernelBase> > (base)
61+
// CHECK-NEXT: 144 | class std::tuple<class sycl::detail::HostKernelBase *, struct std::default_delete<class sycl::detail::HostKernelBase> >
62+
// CHECK-NEXT: 144 | struct std::_Tuple_impl<0, class sycl::detail::HostKernelBase *, struct std::default_delete<class sycl::detail::HostKernelBase> > (base)
63+
// CHECK-NEXT: 144 | struct std::_Tuple_impl<1, struct std::default_delete<class sycl::detail::HostKernelBase> > (base) (empty)
64+
// CHECK: 144 | struct std::_Head_base<0, class sycl::detail::HostKernelBase *> (base)
65+
// CHECK-NEXT: 144 | class sycl::detail::HostKernelBase * _M_head_impl
66+
// CHECK-NEXT: 152 | struct sycl::detail::code_location MCodeLoc
67+
// CHECK-NEXT: 152 | const char * MFileName
68+
// CHECK-NEXT: 160 | const char * MFunctionName
69+
// CHECK-NEXT: 168 | uint32_t MLineNo
70+
// CHECK-NEXT: 172 | uint32_t MColumnNo
71+
// CHECK-NEXT: | [sizeof=176, dsize=176, align=8,
72+
// CHECK-NEXT: | nvsize=176, nvalign=8]
7273
// clang-format on

sycl/test/abi/symbol_size_alignment.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ int main() {
5252
check<device_selector, 8, 8>();
5353
check<event, 16, 8>();
5454
check<gpu_selector, 8, 8>();
55-
check<handler, 168, 8>();
55+
check<handler, 176, 8>();
5656
check<image<1>, 16, 8>();
5757
check<kernel, 16, 8>();
5858
check<detail::nd_range_view, 32, 8>();

0 commit comments

Comments
 (0)