@@ -46,6 +46,7 @@ if.end.i: ; preds = %entry
46
46
; CHECK-NEXT: {{.*}}__spirv_AtomicStore{{.*}}(i32 addrspace(1)* %[[ATOMIC_ARG_1]],{{.*}}, i32 896
47
47
; CHECK-NEXT: call void @__itt_offload_atomic_op_finish(i32 addrspace(1)* %[[ATOMIC_ARG_1]], i32 1, i32 0
48
48
tail call spir_func void @_Z19__spirv_AtomicStorePU3AS1iN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagEi (i32 addrspace (1 )* %add.ptr.i , i32 1 , i32 896 , i32 %conv.i.i ) #2
49
+ tail call spir_func void @__synthetic_spir_fun_call (i32 addrspace (1 )* %add.ptr.i )
49
50
br label %_ZZN2cl4sycl7handler24parallel_for_lambda_implI12store_kernelIiEZZ10store_testIiEvNS0_5queueEmENKUlRS1_E_clES7_EUlNS0_4itemILi1ELb1EEEE_Li1EEEvNS0_5rangeIXT1_EEET0_ENKUlSA_E_clESA_.exit
50
51
51
52
_ZZN2cl4sycl7handler24parallel_for_lambda_implI12store_kernelIiEZZ10store_testIiEvNS0_5queueEmENKUlRS1_E_clES7_EUlNS0_4itemILi1ELb1EEEE_Li1EEEvNS0_5rangeIXT1_EEET0_ENKUlSA_E_clESA_.exit: ; preds = %entry, %if.end.i
@@ -54,6 +55,20 @@ _ZZN2cl4sycl7handler24parallel_for_lambda_implI12store_kernelIiEZZ10store_testIi
54
55
ret void
55
56
}
56
57
58
+ define weak_odr dso_local spir_func void @__synthetic_spir_fun_call (i32 addrspace (1 )* %ptr ) {
59
+ entry:
60
+ ; CHECK-LABEL: spir_func void @__synthetic_spir_fun_call(i32 addrspace(1)* %{{.*}}) {
61
+ ; CHECK: call void @__itt_offload_atomic_op_start(i32 addrspace(1)* %[[ATOMIC_ARG_S:[0-9a-zA-Z._]+]], i32 1, i32 0)
62
+ ; CHECK-NEXT: {{.*}}__spirv_AtomicStore{{.*}}(i32 addrspace(1)* %[[ATOMIC_ARG_S]],{{.*}}, i32 896
63
+ ; CHECK-NEXT: call void @__itt_offload_atomic_op_finish(i32 addrspace(1)* %[[ATOMIC_ARG_S]], i32 1, i32 0)
64
+ %0 = load <3 x i64 >, <3 x i64 > addrspace (4 )* addrspacecast (<3 x i64 > addrspace (1 )* @__spirv_BuiltInGlobalInvocationId to <3 x i64 > addrspace (4 )*), align 32 , !noalias !15
65
+ %1 = extractelement <3 x i64 > %0 , i64 0
66
+ %conv = trunc i64 %1 to i32
67
+ tail call spir_func void @_Z19__spirv_AtomicStorePU3AS1iN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagEi (i32 addrspace (1 )* %ptr , i32 1 , i32 896 , i32 %conv ) #2
68
+ ; CHECK-NOT: call void @__itt_offload_wi_finish_wrapper()
69
+ ret void
70
+ }
71
+
57
72
; Function Attrs: convergent
58
73
declare dso_local spir_func void @_Z19__spirv_AtomicStorePU3AS1iN5__spv5Scope4FlagENS1_19MemorySemanticsMask4FlagEi (i32 addrspace (1 )*, i32 , i32 , i32 ) local_unnamed_addr #1
59
74
0 commit comments