9
9
10
10
// ALWAYS-INLINE-LABEL: func.func @caller() -> i32 {
11
11
// ALWAYS-INLINE-NEXT: %c1_i32 = arith.constant 1 : i32
12
- // ALWAYS-INLINE-NEXT: %0 = sycl.call() {FunctionName = @inline_hint_callee_, MangledFunctionName = @inline_hint_callee, TypeName = @A} : () -> i32
13
- // ALWAYS-INLINE-NEXT: %1 = sycl.call() {FunctionName = @private_callee_, MangledFunctionName = @private_callee, TypeName = @A} : () -> i32
14
- // ALWAYS-INLINE-NEXT: %2 = sycl.call() {FunctionName = @small_callee_, MangledFunctionName = @small_callee, TypeName = @A} : () -> i32
15
- // ALWAYS-INLINE-NEXT: %3 = sycl.call() {FunctionName = @callee_, MangledFunctionName = @callee, TypeName = @A} : () -> i32
16
- // ALWAYS-INLINE-NEXT: %4 = sycl.call() {FunctionName = @gpu_func_callee_, MangledFunctionName = @gpu_func_callee, TypeName = @A} : () -> i32
12
+ // ALWAYS-INLINE-NEXT: %0 = sycl.call @inline_hint_callee_() { MangledFunctionName = @inline_hint_callee, TypeName = @A} : () -> i32
13
+ // ALWAYS-INLINE-NEXT: %1 = sycl.call @private_callee_() { MangledFunctionName = @private_callee, TypeName = @A} : () -> i32
14
+ // ALWAYS-INLINE-NEXT: %2 = sycl.call @small_callee_() { MangledFunctionName = @small_callee, TypeName = @A} : () -> i32
15
+ // ALWAYS-INLINE-NEXT: %3 = sycl.call @callee_() { MangledFunctionName = @callee, TypeName = @A} : () -> i32
16
+ // ALWAYS-INLINE-NEXT: %4 = sycl.call @gpu_func_callee_() { MangledFunctionName = @gpu_func_callee, TypeName = @A} : () -> i32
17
17
// ALWAYS-INLINE-NEXT: %5 = arith.addi %c1_i32, %0 : i32
18
18
// ALWAYS-INLINE-NEXT: %6 = arith.addi %1, %2 : i32
19
19
// ALWAYS-INLINE-NEXT: %7 = arith.addi %3, %4 : i32
40
40
// INLINE-DAG: %c2_i32 = arith.constant 2 : i32
41
41
// INLINE-DAG: %c3_i32 = arith.constant 3 : i32
42
42
// INLINE-DAG: %c4_i32 = arith.constant 4 : i32
43
- // INLINE-NEXT: %0 = sycl.call() {FunctionName = @callee_, MangledFunctionName = @callee, TypeName = @A} : () -> i32
44
- // INLINE-NEXT: %1 = sycl.call() {FunctionName = @gpu_func_callee_, MangledFunctionName = @gpu_func_callee, TypeName = @A} : () -> i32
43
+ // INLINE-NEXT: %0 = sycl.call @callee_() { MangledFunctionName = @callee, TypeName = @A} : () -> i32
44
+ // INLINE-NEXT: %1 = sycl.call @gpu_func_callee_() { MangledFunctionName = @gpu_func_callee, TypeName = @A} : () -> i32
45
45
// INLINE-NEXT: %2 = arith.addi %c1_i32, %c2_i32 : i32
46
46
// INLINE-NEXT: %3 = arith.addi %c3_i32, %c4_i32 : i32
47
47
// INLINE-NEXT: %4 = arith.addi %0, %1 : i32
60
60
gpu.module @module {
61
61
62
62
func.func @caller () -> i32 {
63
- %res1 = sycl.call () { FunctionName = @ " always_inline_callee_" , MangledFunctionName = @always_inline_callee , TypeName = @A } : () -> i32
64
- %res2 = sycl.call () { FunctionName = @ " inline_hint_callee_" , MangledFunctionName = @inline_hint_callee , TypeName = @A } : () -> i32
65
- %res3 = sycl.call () { FunctionName = @ " private_callee_" , MangledFunctionName = @private_callee , TypeName = @A } : () -> i32
66
- %res4 = sycl.call () { FunctionName = @ " small_callee_" , MangledFunctionName = @small_callee , TypeName = @A } : () -> i32
67
- %res5 = sycl.call () { FunctionName = @ " callee_" , MangledFunctionName = @callee , TypeName = @A } : () -> i32
68
- %res6 = sycl.call () { FunctionName = @ " gpu_func_callee_" , MangledFunctionName = @gpu_func_callee , TypeName = @A } : () -> i32
63
+ %res1 = sycl.call @ always_inline_callee_() { MangledFunctionName = @always_inline_callee , TypeName = @A } : () -> i32
64
+ %res2 = sycl.call @ inline_hint_callee_() { MangledFunctionName = @inline_hint_callee , TypeName = @A } : () -> i32
65
+ %res3 = sycl.call @ private_callee_() { MangledFunctionName = @private_callee , TypeName = @A } : () -> i32
66
+ %res4 = sycl.call @ small_callee_() { MangledFunctionName = @small_callee , TypeName = @A } : () -> i32
67
+ %res5 = sycl.call @ callee_() { MangledFunctionName = @callee , TypeName = @A } : () -> i32
68
+ %res6 = sycl.call @ gpu_func_callee_() { MangledFunctionName = @gpu_func_callee , TypeName = @A } : () -> i32
69
69
%add1 = arith.addi %res1 , %res2 : i32
70
70
%add2 = arith.addi %res3 , %res4 : i32
71
71
%add3 = arith.addi %res5 , %res6 : i32
@@ -117,8 +117,8 @@ gpu.func @gpu_func_callee() -> i32 attributes {passthrough = ["alwaysinline"]} {
117
117
// COM: Ensure a func.func can be inlined in a gpu.func caller iff the callee is 'alwaysinline'.
118
118
// ALWAYS-INLINE-LABEL: gpu.func @caller() -> i32 {
119
119
// ALWAYS-INLINE-NEXT: %c1_i32 = arith.constant 1 : i32
120
- // ALWAYS-INLINE-NEXT: %0 = sycl.call() {FunctionName = @callee_, MangledFunctionName = @callee, TypeName = @A} : () -> i32
121
- // ALWAYS-INLINE-NEXT: %1 = sycl.call() {FunctionName = @gpu_callee_, MangledFunctionName = @gpu_func_callee, TypeName = @A} : () -> i32
120
+ // ALWAYS-INLINE-NEXT: %0 = sycl.call @callee_() { MangledFunctionName = @callee, TypeName = @A} : () -> i32
121
+ // ALWAYS-INLINE-NEXT: %1 = sycl.call @gpu_callee_() { MangledFunctionName = @gpu_func_callee, TypeName = @A} : () -> i32
122
122
// ALWAYS-INLINE-NEXT: %2 = arith.addi %c1_i32, %0 : i32
123
123
// ALWAYS-INLINE-NEXT: %3 = arith.addi %2, %1 : i32
124
124
// ALWAYS-INLINE-NEXT: gpu.return %3 : i32
@@ -127,8 +127,8 @@ gpu.func @gpu_func_callee() -> i32 attributes {passthrough = ["alwaysinline"]} {
127
127
// COM: Ensure a func.func can be inlined in a gpu.func caller.
128
128
// INLINE-LABEL: gpu.func @caller() -> i32 {
129
129
// INLINE-NEXT: %c1_i32 = arith.constant 1 : i32
130
- // INLINE-NEXT: %0 = sycl.call() {FunctionName = @callee_, MangledFunctionName = @callee, TypeName = @A} : () -> i32
131
- // INLINE-NEXT: %1 = sycl.call() {FunctionName = @gpu_callee_, MangledFunctionName = @gpu_func_callee, TypeName = @A} : () -> i32
130
+ // INLINE-NEXT: %0 = sycl.call @callee_() { MangledFunctionName = @callee, TypeName = @A} : () -> i32
131
+ // INLINE-NEXT: %1 = sycl.call @gpu_callee_() { MangledFunctionName = @gpu_func_callee, TypeName = @A} : () -> i32
132
132
// INLINE-NEXT: %2 = arith.addi %c1_i32, %0 : i32
133
133
// INLINE-NEXT: %3 = arith.addi %2, %1 : i32
134
134
// INLINE-NEXT: gpu.return %3 : i32
@@ -137,9 +137,9 @@ gpu.func @gpu_func_callee() -> i32 attributes {passthrough = ["alwaysinline"]} {
137
137
gpu.module @module {
138
138
139
139
gpu.func @caller () -> i32 {
140
- %res1 = sycl.call () { FunctionName = @ " inlinable_callee_" , MangledFunctionName = @inlinable_callee , TypeName = @A } : () -> i32
141
- %res2 = sycl.call () { FunctionName = @ " callee_" , MangledFunctionName = @callee , TypeName = @A } : () -> i32
142
- %res3 = sycl.call () { FunctionName = @ " gpu_callee_" , MangledFunctionName = @gpu_func_callee , TypeName = @A } : () -> i32
140
+ %res1 = sycl.call @ inlinable_callee_() { MangledFunctionName = @inlinable_callee , TypeName = @A } : () -> i32
141
+ %res2 = sycl.call @ callee_() { MangledFunctionName = @callee , TypeName = @A } : () -> i32
142
+ %res3 = sycl.call @ gpu_callee_() { MangledFunctionName = @gpu_func_callee , TypeName = @A } : () -> i32
143
143
%res4 = arith.addi %res1 , %res2 : i32
144
144
%res5 = arith.addi %res4 , %res3 : i32
145
145
gpu.return %res5 : i32
@@ -176,7 +176,7 @@ gpu.func @gpu_func_callee() -> i32 attributes {passthrough = ["alwaysinline"]} {
176
176
// INLINE-DAG: %c2_i32 = arith.constant 2 : i32
177
177
// INLINE-DAG: %c1_i32_0 = arith.constant 1 : i32
178
178
// INLINE-DAG: %c2_i32_1 = arith.constant 2 : i32
179
- // INLINE-DAG: %0 = sycl.call() {FunctionName = @callee_, MangledFunctionName = @callee, TypeName = @A} : () -> i32
179
+ // INLINE-DAG: %0 = sycl.call @callee_() { MangledFunctionName = @callee, TypeName = @A} : () -> i32
180
180
// INLINE-NEXT: %1 = arith.addi %c2_i32_1, %0 : i32
181
181
// INLINE-NEXT: %2 = arith.addi %c1_i32_0, %1 : i32
182
182
// INLINE-NEXT: %3 = arith.addi %c1_i32, %c2_i32 : i32
@@ -189,22 +189,22 @@ gpu.func @gpu_func_callee() -> i32 attributes {passthrough = ["alwaysinline"]} {
189
189
190
190
func.func private @inline_hint_callee () -> i32 attributes {passthrough = [" inlinehint" ]} {
191
191
%c_i32 = arith.constant 1 : i32
192
- %res1 = sycl.call () { FunctionName = @ " private_callee_" , MangledFunctionName = @private_callee , TypeName = @A } : () -> i32
192
+ %res1 = sycl.call @ private_callee_() { MangledFunctionName = @private_callee , TypeName = @A } : () -> i32
193
193
%res2 = arith.addi %c_i32 , %res1 : i32
194
194
return %res2 : i32
195
195
}
196
196
197
197
func.func private @private_callee () -> i32 {
198
198
%c_i32 = arith.constant 2 : i32
199
- %res1 = sycl.call () { FunctionName = @ " callee_" , MangledFunctionName = @callee , TypeName = @A } : () -> i32
199
+ %res1 = sycl.call @ callee_() { MangledFunctionName = @callee , TypeName = @A } : () -> i32
200
200
%res2 = arith.addi %c_i32 , %res1 : i32
201
201
return %res2 : i32
202
202
}
203
203
204
204
func.func @callee () -> i32 {
205
205
%c1 = arith.constant 1 : i32
206
206
%c2 = arith.constant 2 : i32
207
- %res1 = sycl.call () { FunctionName = @ " inline_hint_callee_" , MangledFunctionName = @inline_hint_callee , TypeName = @A } : () -> i32
207
+ %res1 = sycl.call @ inline_hint_callee_() { MangledFunctionName = @inline_hint_callee , TypeName = @A } : () -> i32
208
208
%add1 = arith.addi %c1 , %c2 : i32
209
209
%add2 = arith.addi %res1 , %add1 : i32
210
210
return %add2 : i32
0 commit comments