55import dpctl
66from llvmlite .ir import IRBuilder
77from numba import types
8- from numba .core import cgutils , imputils
98from numba .core .datamodel import default_manager
10- from numba .extending import intrinsic , overload , overload_method , type_callable
9+ from numba .extending import intrinsic , overload , overload_method
1110
1211import numba_dpex .dpctl_iface .libsyclinterface_bindings as sycl
1312from numba_dpex .core import types as dpex_types
14- from numba_dpex .core . runtime import context as dpexrt
13+ from numba_dpex .dpctl_iface . wrappers import wrap_event_reference
1514
1615
1716@intrinsic
@@ -33,23 +32,8 @@ def sycl_event_create(
3332 sig = ty_event (types .void )
3433
3534 def codegen (context , builder : IRBuilder , sig , args : list ):
36- pyapi = context .get_python_api (builder )
37-
38- event_struct_proxy = cgutils .create_struct_proxy (ty_event )(
39- context , builder
40- )
41-
4235 event = sycl .dpctl_event_create (builder )
43- dpexrtCtx = dpexrt .DpexRTContext (context )
44-
45- # Ref count after the call is equal to 1.
46- dpexrtCtx .eventstruct_init (
47- pyapi , event , event_struct_proxy ._getpointer ()
48- )
49-
50- event_value = event_struct_proxy ._getvalue ()
51-
52- return event_value
36+ return wrap_event_reference (context , builder , event )
5337
5438 return sig , codegen
5539
0 commit comments