17
17
// CHECK-SPIRV: EntryPoint {{[0-9]+}} [[BlockKer5:[0-9]+]] "__device_side_enqueue_block_invoke_5_kernel"
18
18
// CHECK-SPIRV: Name [[BlockGlb1:[0-9]+]] "__block_literal_global"
19
19
// CHECK-SPIRV: Name [[BlockGlb2:[0-9]+]] "__block_literal_global.1"
20
+ // CHECK-SPIRV: Name [[#InvokeFunc1:]] "__device_side_enqueue_block_invoke_kernel"
21
+ // CHECK-SPIRV: Name [[#InvokeFunc2:]] "__device_side_enqueue_block_invoke_2_kernel"
22
+ // CHECK-SPIRV: Name [[#InvokeFunc3:]] "__device_side_enqueue_block_invoke_3_kernel"
23
+ // CHECK-SPIRV: Name [[#InvokeFunc4:]] "__device_side_enqueue_block_invoke_4_kernel"
24
+ // CHECK-SPIRV: Name [[#InvokeFunc5:]] "__device_side_enqueue_block_invoke_5_kernel"
20
25
21
26
// CHECK-SPIRV: TypeInt [[Int32Ty:[0-9]+]] 32
22
27
// CHECK-SPIRV: TypeInt [[Int8Ty:[0-9]+]] 8
28
+ // CHECK-SPIRV: Constant [[Int32Ty]] [[ConstInt12:[0-9]+]] 12
23
29
// CHECK-SPIRV: Constant [[Int32Ty]] [[ConstInt0:[0-9]+]] 0
24
30
// CHECK-SPIRV: Constant [[Int32Ty]] [[ConstInt17:[0-9]+]] 21
25
31
// CHECK-SPIRV: Constant [[Int32Ty]] [[ConstInt2:[0-9]+]] 2
@@ -57,9 +63,9 @@ kernel void device_side_enqueue(global int *a, global int *b, int i, char c0) {
57
63
// Emits block literal on stack and block kernel.
58
64
59
65
// CHECK-SPIRV: Bitcast [[Int8PtrGenTy]] [[BlockLit1:[0-9]+]]
60
- // CHECK-SPIRV: EnqueueKernel [[Int32Ty]] {{[0-9]+}} {{[0-9]+}} {{[0-9]+}} {{[0-9]+}}
61
- // [[ConstInt0]] [[EventNull]] [[EventNull ]]
62
- // [[BlockKer1 ]] [[BlockLit1]] [[ConstInt17]] [[ConstInt8]]
66
+ // CHECK-SPIRV: EnqueueKernel [[Int32Ty]] [[#]] [[#]] [[#]] [[#]]
67
+ // CHECK-SPIRV-SAME: [[ConstInt0]] [[EventNull]] [[# ]]
68
+ // CHECK-SPIRV-SAME: [[#InvokeFunc1 ]] [[BlockLit1]] [[ConstInt17]] [[ConstInt8]]
63
69
64
70
// CHECK-LLVM: [[Block2:%[0-9]+]] = addrspacecast ptr %block to ptr addrspace(4)
65
71
// CHECK-LLVM: [[Block2Ptr:%[0-9]+]] = bitcast ptr addrspace(4) [[Block2]] to ptr addrspace(4)
@@ -77,9 +83,9 @@ kernel void device_side_enqueue(global int *a, global int *b, int i, char c0) {
77
83
// CHECK-SPIRV: PtrCastToGeneric [[EventPtrTy]] [[Event2:[0-9]+]]
78
84
79
85
// CHECK-SPIRV: Bitcast [[Int8PtrGenTy]] [[BlockLit2:[0-9]+]]
80
- // CHECK-SPIRV: EnqueueKernel [[Int32Ty]] {{[0-9]+}} {{[0-9]+}} {{[0-9]+}} {{[0-9]+}}
81
- // [[ConstInt2]] [[Event1]] [[Event2]]
82
- // [[BlockKer2 ]] [[BlockLit2]] [[ConstInt20]] [[ConstInt8]]
86
+ // CHECK-SPIRV: EnqueueKernel [[Int32Ty]] [[#]] [[#]] [[#]] [[#]]
87
+ // CHECK-SPIRV-SAME: [[ConstInt2]] [[Event1]] [[Event2]]
88
+ // CHECK-SPIRV-SAME: [[#InvokeFunc2 ]] [[BlockLit2]] [[ConstInt20]] [[ConstInt8]]
83
89
84
90
// CHECK-LLVM: [[Block3:%[0-9]+]] = addrspacecast ptr %block4 to ptr addrspace(4)
85
91
// CHECK-LLVM: [[Block3Ptr:%[0-9]+]] = bitcast ptr addrspace(4) [[Block3]] to ptr addrspace(4)
@@ -93,14 +99,15 @@ kernel void device_side_enqueue(global int *a, global int *b, int i, char c0) {
93
99
94
100
char c ;
95
101
// Emits global block literal and block kernel.
96
-
97
- // CHECK-SPIRV: PtrAccessChain [[Int32LocPtrTy]] [[LocalBuf31:[0-9]+]]
102
+ // CHECK-SPIRV: PtrCastToGeneric [[EventPtrTy]] [[Event1:[0-9]+]]
103
+ // CHECK-SPIRV: PtrCastToGeneric [[EventPtrTy]] [[Event2:[0-9]+]]
104
+ // CHECK-SPIRV-COUNT-2: PtrAccessChain [[Int32LocPtrTy]] [[LocalBuf31:[0-9]+]]
98
105
// CHECK-SPIRV: PtrCastToGeneric {{[0-9]+}} [[BlockLit3Tmp:[0-9]+]] [[BlockGlb1:[0-9]+]]
99
106
// CHECK-SPIRV: Bitcast [[Int8PtrGenTy]] [[BlockLit3:[0-9]+]] [[BlockLit3Tmp]]
100
- // CHECK-SPIRV: EnqueueKernel [[Int32Ty]] {{[0-9]+}} {{[0-9]+}} {{[0-9]+}} {{[0-9]+}}
101
- // [[ConstInt2]] [[Event1]] [[Event2]]
102
- // [[BlockKer3 ]] [[BlockLit3]] [[ConstInt8 ]] [[ConstInt8]]
103
- // [[LocalBuf31]]
107
+ // CHECK-SPIRV: EnqueueKernel [[Int32Ty]] [[#]] [[#]] [[#]] [[#]]
108
+ // CHECK-SPIRV-SAME: [[ConstInt2]] [[Event1]] [[Event2]]
109
+ // CHECK-SPIRV-SAME: [[#InvokeFunc3 ]] [[BlockLit3]] [[ConstInt12 ]] [[ConstInt8]]
110
+ // CHECK-SPIRV-SAME: [[LocalBuf31]]
104
111
105
112
// CHECK-LLVM: [[Block0Tmp:%[0-9]+]] = addrspacecast ptr addrspace(1) @__block_literal_global to ptr addrspace(4)
106
113
// CHECK-LLVM: [[Block0:%[0-9]+]] = bitcast ptr addrspace(4) [[Block0Tmp]] to ptr addrspace(4)
@@ -115,15 +122,15 @@ kernel void device_side_enqueue(global int *a, global int *b, int i, char c0) {
115
122
116
123
// Emits global block literal and block kernel.
117
124
118
- // CHECK-SPIRV: PtrAccessChain [[Int32LocPtrTy]] [[LocalBuf41:[0-9]+]]
125
+ // CHECK-SPIRV-COUNT-4 : PtrAccessChain [[Int32LocPtrTy]] [[LocalBuf41:[0-9]+]]
119
126
// CHECK-SPIRV: PtrAccessChain [[Int32LocPtrTy]] [[LocalBuf42:[0-9]+]]
120
127
// CHECK-SPIRV: PtrAccessChain [[Int32LocPtrTy]] [[LocalBuf43:[0-9]+]]
121
128
// CHECK-SPIRV: PtrCastToGeneric {{[0-9]+}} [[BlockLit4Tmp:[0-9]+]] [[BlockGlb2:[0-9]+]]
122
129
// CHECK-SPIRV: Bitcast [[Int8PtrGenTy]] [[BlockLit4:[0-9]+]] [[BlockLit4Tmp]]
123
- // CHECK-SPIRV: EnqueueKernel [[Int32Ty]] {{[0-9]+}} {{[0-9]+}} {{[0-9]+}} {{[0-9]+}}
124
- // [[ConstInt0]] [[EventNull ]] [[EventNull ]]
125
- // [[BlockKer4 ]] [[BlockLit4]] [[ConstInt8 ]] [[ConstInt8]]
126
- // [[LocalBuf41]] [[LocalBuf42]] [[LocalBuf43]]
130
+ // CHECK-SPIRV: EnqueueKernel [[Int32Ty]] [[#]] [[#]] [[#]] [[#]]
131
+ // CHECK-SPIRV-SAME: [[ConstInt0]] [[# ]] [[# ]]
132
+ // CHECK-SPIRV-SAME: [[#InvokeFunc4 ]] [[BlockLit4]] [[ConstInt12 ]] [[ConstInt8]]
133
+ // CHECK-SPIRV-SAME: [[LocalBuf41]] [[LocalBuf42]] [[LocalBuf43]]
127
134
128
135
// CHECK-LLVM: [[Block1Tmp:%[0-9]+]] = addrspacecast ptr addrspace(1) @__block_literal_global.1 to ptr addrspace(4)
129
136
// CHECK-LLVM: [[Block1:%[0-9]+]] = bitcast ptr addrspace(4) [[Block1Tmp]] to ptr addrspace(4)
@@ -140,10 +147,10 @@ kernel void device_side_enqueue(global int *a, global int *b, int i, char c0) {
140
147
141
148
// CHECK-SPIRV: PtrCastToGeneric [[EventPtrTy]] [[Event1:[0-9]+]]
142
149
143
- // CHECK-SPIRV: Bitcast [[Int8PtrGenTy]] [[BlockLit2 :[0-9]+]]
144
- // CHECK-SPIRV: EnqueueKernel [[Int32Ty]] {{[0-9]+}} {{[0-9]+}} {{[0-9]+}} {{[0-9]+}}
145
- // [[ConstInt0]] [[EventNull ]] [[Event1]]
146
- // [[BlockKer5 ]] [[BlockLit5]] [[ConstInt20]] [[ConstInt8]]
150
+ // CHECK-SPIRV: Bitcast [[Int8PtrGenTy]] [[BlockLit5 :[0-9]+]]
151
+ // CHECK-SPIRV: EnqueueKernel [[Int32Ty]] [[#]] [[#]] [[#]] [[#]]
152
+ // CHECK-SPIRV-SAME: [[ConstInt0]] [[# ]] [[Event1]]
153
+ // CHECK-SPIRV-SAME: [[#InvokeFunc5 ]] [[BlockLit5]] [[ConstInt20]] [[ConstInt8]]
147
154
148
155
// CHECK-LLVM: [[Block5:%[0-9]+]] = addrspacecast ptr %block15 to ptr addrspace(4)
149
156
// CHECK-LLVM: [[Block5Ptr:%[0-9]+]] = bitcast ptr addrspace(4) [[Block5]] to ptr addrspace(4)
@@ -157,10 +164,15 @@ kernel void device_side_enqueue(global int *a, global int *b, int i, char c0) {
157
164
}
158
165
159
166
// CHECK-SPIRV-DAG: Function [[VoidTy]] [[BlockKer1]] 0 [[BlockTy1]]
167
+ // CHECK-SPIRV-DAG: FunctionCall [[VoidTy]] [[#]] [[#InvokeFunc1]]
160
168
// CHECK-SPIRV-DAG: Function [[VoidTy]] [[BlockKer2]] 0 [[BlockTy1]]
169
+ // CHECK-SPIRV-DAG: FunctionCall [[VoidTy]] [[#]] [[#InvokeFunc2]]
161
170
// CHECK-SPIRV-DAG: Function [[VoidTy]] [[BlockKer3]] 0 [[BlockTy2]]
171
+ // CHECK-SPIRV-DAG: FunctionCall [[VoidTy]] [[#]] [[#InvokeFunc3]]
162
172
// CHECK-SPIRV-DAG: Function [[VoidTy]] [[BlockKer4]] 0 [[BlockTy3]]
173
+ // CHECK-SPIRV-DAG: FunctionCall [[VoidTy]] [[#]] [[#InvokeFunc4]]
163
174
// CHECK-SPIRV-DAG: Function [[VoidTy]] [[BlockKer5]] 0 [[BlockTy1]]
175
+ // CHECK-SPIRV-DAG: FunctionCall [[VoidTy]] [[#]] [[#InvokeFunc5]]
164
176
165
177
// CHECK-LLVM-DAG: define spir_kernel void @__device_side_enqueue_block_invoke_kernel(ptr addrspace(4){{.*}})
166
178
// CHECK-LLVM-DAG: define spir_kernel void @__device_side_enqueue_block_invoke_2_kernel(ptr addrspace(4){{.*}})
0 commit comments