Skip to content

Commit 68b309c

Browse files
committed
[SYCL][Test] Track dependencies of backend.hpp header
This header directly or indirectly includes a lot of things, which makes it harder to isolate sycl headers. Isolate here means make it so they are only included from top-level `sycl/sycl.hpp` and from nowhere else. Expanded `include_deps` test to track `backend.hpp` dependencies, mainly to prevent them from growing further.
1 parent 8a17167 commit 68b309c

File tree

2 files changed

+149
-0
lines changed

2 files changed

+149
-0
lines changed
Lines changed: 148 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,148 @@
1+
// Use update_test.sh to (re-)generate the checks
2+
// REQUIRES: linux
3+
// RUN: bash %S/deps_known.sh sycl/backend.hpp | FileCheck %s
4+
5+
// CHECK-LABEL: Dependencies for <sycl/backend.hpp>:
6+
// CHECK-NEXT: /dev/null: /dev/null
7+
// CHECK-NEXT: backend.hpp
8+
// CHECK-NEXT: access/access.hpp
9+
// CHECK-NEXT: detail/defines_elementary.hpp
10+
// CHECK-NEXT: __spirv/spirv_ops.hpp
11+
// CHECK-NEXT: __spirv/spirv_types.hpp
12+
// CHECK-NEXT: detail/defines.hpp
13+
// CHECK-NEXT: detail/export.hpp
14+
// CHECK-NEXT: accessor.hpp
15+
// CHECK-NEXT: atomic.hpp
16+
// CHECK-NEXT: detail/helpers.hpp
17+
// CHECK-NEXT: memory_enums.hpp
18+
// CHECK-NEXT: __spirv/spirv_vars.hpp
19+
// CHECK-NEXT: multi_ptr.hpp
20+
// CHECK-NEXT: aliases.hpp
21+
// CHECK-NEXT: detail/type_traits.hpp
22+
// CHECK-NEXT: detail/type_traits/vec_marray_traits.hpp
23+
// CHECK-NEXT: half_type.hpp
24+
// CHECK-NEXT: bit_cast.hpp
25+
// CHECK-NEXT: detail/iostream_proxy.hpp
26+
// CHECK-NEXT: aspects.hpp
27+
// CHECK-NEXT: info/aspects.def
28+
// CHECK-NEXT: info/aspects_deprecated.def
29+
// CHECK-NEXT: buffer.hpp
30+
// CHECK-NEXT: backend_types.hpp
31+
// CHECK-NEXT: detail/array.hpp
32+
// CHECK-NEXT: exception.hpp
33+
// CHECK-NEXT: detail/string.hpp
34+
// CHECK-NEXT: detail/common.hpp
35+
// CHECK-NEXT: stl_wrappers/cassert
36+
// CHECK-NEXT: stl_wrappers/assert.h
37+
// CHECK-NEXT: detail/is_device_copyable.hpp
38+
// CHECK-NEXT: detail/owner_less_base.hpp
39+
// CHECK-NEXT: detail/impl_utils.hpp
40+
// CHECK-NEXT: ext/oneapi/weak_object_base.hpp
41+
// CHECK-NEXT: detail/property_helper.hpp
42+
// CHECK-NEXT: detail/stl_type_traits.hpp
43+
// CHECK-NEXT: detail/sycl_mem_obj_allocator.hpp
44+
// CHECK-NEXT: detail/aligned_allocator.hpp
45+
// CHECK-NEXT: detail/os_util.hpp
46+
// CHECK-NEXT: ext/oneapi/accessor_property_list.hpp
47+
// CHECK-NEXT: detail/property_list_base.hpp
48+
// CHECK-NEXT: property_list.hpp
49+
// CHECK-NEXT: properties/property_traits.hpp
50+
// CHECK-NEXT: id.hpp
51+
// CHECK-NEXT: range.hpp
52+
// CHECK-NEXT: ur_api.h
53+
// CHECK-NEXT: detail/accessor_iterator.hpp
54+
// CHECK-NEXT: detail/generic_type_traits.hpp
55+
// CHECK-NEXT: ext/oneapi/bfloat16.hpp
56+
// CHECK-NEXT: detail/handler_proxy.hpp
57+
// CHECK-NEXT: pointers.hpp
58+
// CHECK-NEXT: properties/accessor_properties.hpp
59+
// CHECK-NEXT: properties/runtime_accessor_properties.def
60+
// CHECK-NEXT: properties/buffer_properties.hpp
61+
// CHECK-NEXT: context.hpp
62+
// CHECK-NEXT: async_handler.hpp
63+
// CHECK-NEXT: detail/info_desc_helpers.hpp
64+
// CHECK-NEXT: info/info_desc.hpp
65+
// CHECK-NEXT: ext/oneapi/experimental/device_architecture.hpp
66+
// CHECK-NEXT: ext/oneapi/experimental/architectures.def
67+
// CHECK-NEXT: ext/oneapi/experimental/forward_progress.hpp
68+
// CHECK-NEXT: ext/oneapi/matrix/query-types.hpp
69+
// CHECK-NEXT: ext/oneapi/matrix/matrix-unified-utils.hpp
70+
// CHECK-NEXT: info/platform_traits.def
71+
// CHECK-NEXT: info/context_traits.def
72+
// CHECK-NEXT: info/device_traits_2020_deprecated.def
73+
// CHECK-NEXT: info/device_traits_deprecated.def
74+
// CHECK-NEXT: info/device_traits.def
75+
// CHECK-NEXT: info/queue_traits.def
76+
// CHECK-NEXT: info/kernel_traits.def
77+
// CHECK-NEXT: info/kernel_device_specific_traits.def
78+
// CHECK-NEXT: info/event_traits.def
79+
// CHECK-NEXT: info/event_profiling_traits.def
80+
// CHECK-NEXT: info/ext_codeplay_device_traits.def
81+
// CHECK-NEXT: info/ext_intel_device_traits.def
82+
// CHECK-NEXT: info/ext_oneapi_device_traits.def
83+
// CHECK-NEXT: info/ext_oneapi_kernel_queue_specific_traits.def
84+
// CHECK-NEXT: info/sycl_backend_traits.def
85+
// CHECK-NEXT: platform.hpp
86+
// CHECK-NEXT: detail/string_view.hpp
87+
// CHECK-NEXT: detail/util.hpp
88+
// CHECK-NEXT: device_selector.hpp
89+
// CHECK-NEXT: properties/buffer_properties.def
90+
// CHECK-NEXT: detail/backend_traits.hpp
91+
// CHECK-NEXT: device.hpp
92+
// CHECK-NEXT: kernel_bundle_enums.hpp
93+
// CHECK-NEXT: event.hpp
94+
// CHECK-NEXT: feature_test.hpp
95+
// CHECK-NEXT: image.hpp
96+
// CHECK-NEXT: sampler.hpp
97+
// CHECK-NEXT: vector.hpp
98+
// CHECK-NEXT: detail/memcpy.hpp
99+
// CHECK-NEXT: detail/vector_arith.hpp
100+
// CHECK-NEXT: swizzles.def
101+
// CHECK-NEXT: queue.hpp
102+
// CHECK-NEXT: detail/assert_happened.hpp
103+
// CHECK-NEXT: detail/cg_types.hpp
104+
// CHECK-NEXT: detail/host_profiling_info.hpp
105+
// CHECK-NEXT: detail/item_base.hpp
106+
// CHECK-NEXT: detail/kernel_desc.hpp
107+
// CHECK-NEXT: group.hpp
108+
// CHECK-NEXT: device_event.hpp
109+
// CHECK-NEXT: h_item.hpp
110+
// CHECK-NEXT: item.hpp
111+
// CHECK-NEXT: kernel_handler.hpp
112+
// CHECK-NEXT: nd_item.hpp
113+
// CHECK-NEXT: nd_range.hpp
114+
// CHECK-NEXT: detail/optional.hpp
115+
// CHECK-NEXT: exception_list.hpp
116+
// CHECK-NEXT: ext/oneapi/device_global/device_global.hpp
117+
// CHECK-NEXT: ext/oneapi/device_global/properties.hpp
118+
// CHECK-NEXT: ext/oneapi/properties/property.hpp
119+
// CHECK-NEXT: ext/oneapi/properties/property_value.hpp
120+
// CHECK-NEXT: ext/oneapi/properties/properties.hpp
121+
// CHECK-NEXT: ext/oneapi/properties/property_utils.hpp
122+
// CHECK-NEXT: ext/oneapi/experimental/graph.hpp
123+
// CHECK-NEXT: handler.hpp
124+
// CHECK-NEXT: detail/cl.h
125+
// CHECK-NEXT: CL/cl.h
126+
// CHECK-NEXT: CL/cl_version.h
127+
// CHECK-NEXT: CL/cl_platform.h
128+
// CHECK-NEXT: CL/cl_ext.h
129+
// CHECK-NEXT: detail/id_queries_fit_in_int.hpp
130+
// CHECK-NEXT: detail/reduction_forward.hpp
131+
// CHECK-NEXT: detail/ur.hpp
132+
// CHECK-NEXT: ur_api_funcs.def
133+
// CHECK-NEXT: ext/intel/experimental/fp_control_kernel_properties.hpp
134+
// CHECK-NEXT: ext/intel/experimental/kernel_execution_properties.hpp
135+
// CHECK-NEXT: ext/oneapi/bindless_images_interop.hpp
136+
// CHECK-NEXT: ext/oneapi/bindless_images_mem_handle.hpp
137+
// CHECK-NEXT: ext/oneapi/experimental/cluster_group_prop.hpp
138+
// CHECK-NEXT: ext/oneapi/experimental/raw_kernel_arg.hpp
139+
// CHECK-NEXT: ext/oneapi/experimental/use_root_sync_prop.hpp
140+
// CHECK-NEXT: ext/oneapi/experimental/virtual_functions.hpp
141+
// CHECK-NEXT: ext/oneapi/kernel_properties/properties.hpp
142+
// CHECK-NEXT: kernel.hpp
143+
// CHECK-NEXT: detail/backend_traits_opencl.hpp
144+
// CHECK-NEXT: detail/backend_traits_level_zero.hpp
145+
// CHECK-NEXT: ext/oneapi/backend/level_zero_ownership.hpp
146+
// CHECK-NEXT: kernel_bundle.hpp
147+
// CHECK-NEXT: ext/oneapi/experimental/free_function_traits.hpp
148+
// CHECK-EMPTY:

sycl/test/include_deps/update_test.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ HEADERS=(
22
sycl/detail/defines_elementary.hpp
33
sycl/detail/export.hpp
44

5+
sycl/backend.hpp
56
sycl/buffer.hpp
67
sycl/accessor.hpp
78

0 commit comments

Comments
 (0)