Skip to content

Commit 126b483

Browse files
author
Alexander Batashev
authored
[SYCL] Improve UX for abi_check.py tool (#2141)
The tool now prints a header with a correct LIT run line. Signed-off-by: Alexander Batashev <[email protected]>
1 parent 78f60bf commit 126b483

File tree

4 files changed

+124
-99
lines changed

4 files changed

+124
-99
lines changed
Lines changed: 89 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -1,105 +1,109 @@
1+
################################################################################
2+
# This file is automatically generated by abi_check.py tool.
3+
# DO NOT EDIT IT MANUALLY. Refer to sycl/docs/ABIPolicyGuide.md for more info.
4+
################################################################################
5+
16
# RUN: env LLVM_BIN_PATH=%llvm_build_bin_dir python %sycl_tools_src_dir/abi_check.py --mode check_symbols --reference %s %sycl_libs_dir/libpi_level0.so
27
# REQUIRES: linux
38

4-
piDeviceGetInfo
5-
piextContextGetNativeHandle
6-
piEnqueueMemImageWrite
7-
piEnqueueMemBufferWrite
8-
piextUSMFree
9-
piEnqueueNativeKernel
10-
piProgramRetain
11-
piProgramGetBuildInfo
12-
piextUSMEnqueueMemAdvise
13-
piKernelCreate
14-
piKernelGetSubGroupInfo
15-
piextUSMEnqueueMemset
16-
piSamplerRetain
17-
piEventRelease
18-
piextDeviceCreateWithNativeHandle
19-
piEventSetCallback
20-
piSamplerRelease
21-
piextMemCreateWithNativeHandle
22-
piEventRetain
23-
piProgramLink
24-
piextUSMSharedAlloc
259
piContextCreate
26-
piSamplerGetInfo
27-
piEnqueueMemImageCopy
28-
piextMemGetNativeHandle
29-
piEnqueueMemBufferMap
30-
piPluginInit
31-
piextQueueCreateWithNativeHandle
10+
piContextGetInfo
3211
piContextRelease
33-
piextProgramCreateWithNativeHandle
34-
piMemBufferCreate
35-
piextUSMGetMemAllocInfo
12+
piContextRetain
13+
piDeviceGetInfo
14+
piDevicePartition
15+
piDeviceRelease
16+
piDeviceRetain
3617
piDevicesGet
37-
piKernelRetain
38-
piSamplerCreate
18+
piEnqueueEventsWait
19+
piEnqueueEventsWaitWithBarrier
20+
piEnqueueKernelLaunch
21+
piEnqueueMemBufferCopy
22+
piEnqueueMemBufferCopyRect
23+
piEnqueueMemBufferFill
24+
piEnqueueMemBufferMap
3925
piEnqueueMemBufferRead
40-
piPlatformGetInfo
41-
piContextRetain
42-
piextDeviceSelectBinary
26+
piEnqueueMemBufferReadRect
27+
piEnqueueMemBufferWrite
28+
piEnqueueMemBufferWriteRect
29+
piEnqueueMemImageCopy
4330
piEnqueueMemImageFill
44-
piDeviceRelease
45-
piQueueFinish
31+
piEnqueueMemImageRead
32+
piEnqueueMemImageWrite
33+
piEnqueueMemUnmap
34+
piEnqueueNativeKernel
35+
piEventCreate
36+
piEventGetInfo
37+
piEventGetProfilingInfo
38+
piEventRelease
39+
piEventRetain
40+
piEventSetCallback
41+
piEventSetStatus
42+
piEventsWait
43+
piKernelCreate
44+
piKernelGetGroupInfo
45+
piKernelGetInfo
46+
piKernelGetSubGroupInfo
4647
piKernelRelease
48+
piKernelRetain
49+
piKernelSetArg
50+
piKernelSetExecInfo
51+
piMemBufferCreate
52+
piMemBufferPartition
53+
piMemGetInfo
4754
piMemImageCreate
55+
piMemImageGetInfo
56+
piMemRelease
57+
piMemRetain
58+
piPlatformGetInfo
59+
piPlatformsGet
60+
piPluginInit
61+
piProgramBuild
4862
piProgramCompile
49-
piMemGetInfo
50-
piextProgramSetSpecializationConstant
51-
piextQueueGetNativeHandle
52-
piEnqueueMemImageRead
53-
piextUSMEnqueueMemcpy
5463
piProgramCreate
55-
piextContextSetExtendedDeleter
56-
piProgramBuild
57-
piKernelSetExecInfo
58-
piPlatformsGet
59-
piEnqueueMemBufferFill
60-
piMemRetain
61-
piextUSMEnqueuePrefetch
62-
piextKernelSetArgPointer
63-
piEnqueueEventsWait
64-
piEnqueueEventsWaitWithBarrier
65-
piEnqueueMemBufferCopy
64+
piProgramCreateWithBinary
65+
piProgramGetBuildInfo
66+
piProgramGetInfo
67+
piProgramLink
68+
piProgramRelease
69+
piProgramRetain
70+
piQueueCreate
71+
piQueueFinish
6672
piQueueGetInfo
67-
piDevicePartition
73+
piQueueRelease
6874
piQueueRetain
69-
piextDeviceGetNativeHandle
70-
piEventGetInfo
71-
piMemImageGetInfo
72-
piContextGetInfo
75+
piSamplerCreate
76+
piSamplerGetInfo
77+
piSamplerRelease
78+
piSamplerRetain
7379
piclProgramCreateWithSource
74-
piextProgramGetNativeHandle
75-
piEventGetProfilingInfo
76-
piProgramGetInfo
80+
piextContextCreateWithNativeHandle
81+
piextContextGetNativeHandle
82+
piextContextSetExtendedDeleter
83+
piextDeviceCreateWithNativeHandle
84+
piextDeviceGetNativeHandle
85+
piextDeviceSelectBinary
86+
piextEventCreateWithNativeHandle
87+
piextEventGetNativeHandle
7788
piextGetDeviceFunctionPointer
78-
piEnqueueMemUnmap
7989
piextKernelSetArgMemObj
90+
piextKernelSetArgPointer
8091
piextKernelSetArgSampler
81-
piQueueCreate
82-
piEventCreate
83-
piKernelGetInfo
84-
piQueueRelease
85-
piKernelSetArg
86-
piEnqueueMemBufferCopyRect
87-
piEnqueueKernelLaunch
88-
piextContextCreateWithNativeHandle
89-
piProgramCreateWithBinary
90-
piKernelGetGroupInfo
91-
piextEventCreateWithNativeHandle
92-
piEventsWait
93-
piMemRelease
94-
piProgramRelease
95-
piDeviceRetain
92+
piextMemCreateWithNativeHandle
93+
piextMemGetNativeHandle
94+
piextPlatformCreateWithNativeHandle
95+
piextPlatformGetNativeHandle
96+
piextProgramCreateWithNativeHandle
97+
piextProgramGetNativeHandle
98+
piextProgramSetSpecializationConstant
99+
piextQueueCreateWithNativeHandle
100+
piextQueueGetNativeHandle
96101
piextUSMDeviceAlloc
97-
piEventSetStatus
98-
piextEventGetNativeHandle
99-
piEnqueueMemBufferReadRect
100-
piMemBufferPartition
101-
piEnqueueMemBufferWriteRect
102+
piextUSMEnqueueMemAdvise
103+
piextUSMEnqueueMemcpy
104+
piextUSMEnqueueMemset
105+
piextUSMEnqueuePrefetch
106+
piextUSMFree
107+
piextUSMGetMemAllocInfo
102108
piextUSMHostAlloc
103-
piextPlatformGetNativeHandle
104-
piextPlatformCreateWithNativeHandle
105-
109+
piextUSMSharedAlloc

sycl/test/abi/pi_opencl_symbol_check.dump

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
################################################################################
2+
# This file is automatically generated by abi_check.py tool.
3+
# DO NOT EDIT IT MANUALLY. Refer to sycl/docs/ABIPolicyGuide.md for more info.
4+
################################################################################
5+
16
# RUN: env LLVM_BIN_PATH=%llvm_build_bin_dir python %sycl_tools_src_dir/abi_check.py --mode check_symbols --reference %s %sycl_libs_dir/libpi_opencl.so
27
# REQUIRES: linux
38

@@ -14,25 +19,27 @@ piMemImageCreate
1419
piPlatformsGet
1520
piPluginInit
1621
piProgramCreate
22+
piProgramCreateWithBinary
1723
piProgramLink
1824
piQueueCreate
1925
piSamplerCreate
20-
piProgramCreateWithBinary
2126
piclProgramCreateWithSource
2227
piextContextCreateWithNativeHandle
2328
piextContextGetNativeHandle
2429
piextDeviceCreateWithNativeHandle
25-
piextDeviceSelectBinary
2630
piextDeviceGetNativeHandle
31+
piextDeviceSelectBinary
2732
piextEventCreateWithNativeHandle
2833
piextGetDeviceFunctionPointer
29-
piextProgramGetNativeHandle
3034
piextKernelSetArgMemObj
31-
piextKernelSetArgSampler
3235
piextKernelSetArgPointer
36+
piextKernelSetArgSampler
3337
piextMemCreateWithNativeHandle
3438
piextMemGetNativeHandle
39+
piextPlatformCreateWithNativeHandle
40+
piextPlatformGetNativeHandle
3541
piextProgramCreateWithNativeHandle
42+
piextProgramGetNativeHandle
3643
piextProgramSetSpecializationConstant
3744
piextQueueCreateWithNativeHandle
3845
piextQueueGetNativeHandle
@@ -45,5 +52,3 @@ piextUSMFree
4552
piextUSMGetMemAllocInfo
4653
piextUSMHostAlloc
4754
piextUSMSharedAlloc
48-
piextPlatformGetNativeHandle
49-
piextPlatformCreateWithNativeHandle

sycl/test/abi/sycl_symbols_linux.dump

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
################################################################################
2+
# This file is automatically generated by abi_check.py tool.
3+
# DO NOT EDIT IT MANUALLY. Refer to sycl/docs/ABIPolicyGuide.md for more info.
4+
################################################################################
5+
16
# RUN: env LLVM_BIN_PATH=%llvm_build_bin_dir python %sycl_tools_src_dir/abi_check.py --mode check_symbols --reference %s %sycl_libs_dir/libsycl.so
27
# REQUIRES: linux
38

@@ -3724,7 +3729,9 @@ _ZN2cl4sycl6detail13MemoryManager13releaseMemObjESt10shared_ptrINS1_12context_im
37243729
_ZN2cl4sycl6detail13MemoryManager16allocateMemImageESt10shared_ptrINS1_12context_implEEPNS1_11SYCLMemObjIEPvbmRK14_pi_image_descRK16_pi_image_formatRKS3_INS1_10event_implEERKS5_RP9_pi_event
37253730
_ZN2cl4sycl6detail13MemoryManager17allocateMemBufferESt10shared_ptrINS1_12context_implEEPNS1_11SYCLMemObjIEPvbmRKS3_INS1_10event_implEERKS5_RP9_pi_event
37263731
_ZN2cl4sycl6detail13MemoryManager18allocateHostMemoryEPNS1_11SYCLMemObjIEPvbm
3732+
_ZN2cl4sycl6detail13MemoryManager18releaseImageBufferESt10shared_ptrINS1_12context_implEEPv
37273733
_ZN2cl4sycl6detail13MemoryManager19allocateImageObjectESt10shared_ptrINS1_12context_implEEPvbRK14_pi_image_descRK16_pi_image_format
3734+
_ZN2cl4sycl6detail13MemoryManager19wrapIntoImageBufferESt10shared_ptrINS1_12context_implEEPvPNS1_11SYCLMemObjIE
37283735
_ZN2cl4sycl6detail13MemoryManager20allocateBufferObjectESt10shared_ptrINS1_12context_implEEPvbm
37293736
_ZN2cl4sycl6detail13MemoryManager20allocateMemSubBufferESt10shared_ptrINS1_12context_implEEPvmmNS0_5rangeILi3EEESt6vectorIS3_INS1_10event_implEESaISB_EERP9_pi_event
37303737
_ZN2cl4sycl6detail13MemoryManager24allocateInteropMemObjectESt10shared_ptrINS1_12context_implEEPvRKS3_INS1_10event_implEERKS5_RP9_pi_event
@@ -3736,8 +3743,6 @@ _ZN2cl4sycl6detail13MemoryManager7releaseESt10shared_ptrINS1_12context_implEEPNS
37363743
_ZN2cl4sycl6detail13MemoryManager8allocateESt10shared_ptrINS1_12context_implEEPNS1_11SYCLMemObjIEbPvSt6vectorIS3_INS1_10event_implEESaISB_EERP9_pi_event
37373744
_ZN2cl4sycl6detail13MemoryManager8copy_usmEPKvSt10shared_ptrINS1_10queue_implEEmPvSt6vectorIP9_pi_eventSaISB_EERSB_
37383745
_ZN2cl4sycl6detail13MemoryManager8fill_usmEPvSt10shared_ptrINS1_10queue_implEEmiSt6vectorIP9_pi_eventSaIS9_EERS9_
3739-
_ZN2cl4sycl6detail13MemoryManager18releaseImageBufferESt10shared_ptrINS1_12context_implEEPv
3740-
_ZN2cl4sycl6detail13MemoryManager19wrapIntoImageBufferESt10shared_ptrINS1_12context_implEEPvPNS1_11SYCLMemObjIE
37413746
_ZN2cl4sycl6detail14getBorderColorENS0_19image_channel_orderE
37423747
_ZN2cl4sycl6detail14host_half_impl4halfC1ERKf
37433748
_ZN2cl4sycl6detail14host_half_impl4halfC2ERKf
@@ -3784,6 +3789,10 @@ _ZN2cl4sycl6kernelC1EP10_cl_kernelRKNS0_7contextE
37843789
_ZN2cl4sycl6kernelC1ESt10shared_ptrINS0_6detail11kernel_implEE
37853790
_ZN2cl4sycl6kernelC2EP10_cl_kernelRKNS0_7contextE
37863791
_ZN2cl4sycl6kernelC2ESt10shared_ptrINS0_6detail11kernel_implEE
3792+
_ZN2cl4sycl6level010make_queueERKNS0_7contextEm
3793+
_ZN2cl4sycl6level011make_deviceERKNS0_8platformEm
3794+
_ZN2cl4sycl6level012make_programERKNS0_7contextEm
3795+
_ZN2cl4sycl6level013make_platformEm
37873796
_ZN2cl4sycl6mallocEmRKNS0_5queueENS0_3usm5allocE
37883797
_ZN2cl4sycl6mallocEmRKNS0_6deviceERKNS0_7contextENS0_3usm5allocE
37893798
_ZN2cl4sycl6opencl10make_queueERKNS0_7contextEm
@@ -4044,6 +4053,7 @@ _ZNK2cl4sycl7program7is_hostEv
40444053
_ZNK2cl4sycl7program8get_infoILNS0_4info7programE4448EEENS3_12param_traitsIS4_XT_EE11return_typeEv
40454054
_ZNK2cl4sycl7program8get_infoILNS0_4info7programE4449EEENS3_12param_traitsIS4_XT_EE11return_typeEv
40464055
_ZNK2cl4sycl7program8get_infoILNS0_4info7programE4451EEENS3_12param_traitsIS4_XT_EE11return_typeEv
4056+
_ZNK2cl4sycl7program9getNativeEv
40474057
_ZNK2cl4sycl7program9get_stateEv
40484058
_ZNK2cl4sycl7sampler18get_filtering_modeEv
40494059
_ZNK2cl4sycl7sampler19get_addressing_modeEv
@@ -4067,9 +4077,3 @@ _ZNK2cl4sycl9exception11has_contextEv
40674077
_ZNK2cl4sycl9exception4whatEv
40684078
__sycl_register_lib
40694079
__sycl_unregister_lib
4070-
_ZN2cl4sycl6level011make_deviceERKNS0_8platformEm
4071-
_ZN2cl4sycl6level010make_queueERKNS0_7contextEm
4072-
_ZN2cl4sycl6level012make_programERKNS0_7contextEm
4073-
_ZN2cl4sycl6level013make_platformEm
4074-
_ZNK2cl4sycl8platform9getNativeEv
4075-
_ZNK2cl4sycl7program9getNativeEv

sycl/tools/abi_check.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,23 @@ def parse_readobj_output(output):
4747

4848
def dump_symbols(target_path, output):
4949
with open(output, "w") as out:
50+
out.write("################################################################################")
51+
out.write("\n# This file is automatically generated by abi_check.py tool.")
52+
out.write("\n# DO NOT EDIT IT MANUALLY. Refer to sycl/docs/ABIPolicyGuide.md for more info.")
53+
out.write("\n################################################################################")
54+
out.write("\n\n# RUN: env LLVM_BIN_PATH=%llvm_build_bin_dir python")
55+
out.write(" %sycl_tools_src_dir/abi_check.py --mode check_symbols")
56+
out.write(" --reference %s %sycl_libs_dir/")
57+
out.write(os.path.basename(target_path))
58+
# TODO properly put OS name once Windows is supported
59+
out.write("\n# REQUIRES: linux")
60+
out.write("\n\n")
5061
readobj_out = subprocess.check_output([get_llvm_bin_path()+"llvm-readobj",
5162
"-t", target_path])
5263
symbols = parse_readobj_output(readobj_out)
5364
symbols.sort()
5465
out.write("\n".join(symbols))
66+
out.write("\n")
5567

5668

5769
def compare_results(ref_records, records):

0 commit comments

Comments
 (0)