5
5
import dpctl
6
6
from llvmlite .ir import IRBuilder
7
7
from numba import types
8
- from numba .core import cgutils , imputils
9
8
from 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
11
10
12
11
import numba_dpex .dpctl_iface .libsyclinterface_bindings as sycl
13
12
from 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
15
14
16
15
17
16
@intrinsic
@@ -33,23 +32,8 @@ def sycl_event_create(
33
32
sig = ty_event (types .void )
34
33
35
34
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
-
42
35
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 )
53
37
54
38
return sig , codegen
55
39
0 commit comments