1
- // RUN: sycl-mlir-opt -convert-sycl-to-llvm %s -split-input-file | FileCheck %s
1
+ // RUN: sycl-mlir-opt -split-input-file - convert-sycl-to-llvm -verify-diagnostics %s | FileCheck %s
2
2
3
3
//===-------------------------------------------------------------------------------------------------===//
4
4
// Constructors for sycl::id<n>::id()
5
5
//===-------------------------------------------------------------------------------------------------===//
6
6
7
7
// CHECK: llvm.func @_ZN2cl4sycl2idILi1EEC2Ev([[THIS_PTR_TYPE:!llvm.struct<\(ptr<struct<"class.cl::sycl::id.1",.*]])
8
8
func.func @id1Ctor (%arg0: memref <?x!sycl.id <1 >>) {
9
- // CHECK: %0 = builtin.unrealized_conversion_cast %arg0 : memref<?x!sycl_id_1_> to [[THIS_PTR_TYPE]]
10
- // CHECK-NEXT: llvm.call @_ZN2cl4sycl2idILi1EEC2Ev(%0) : ([[THIS_PTR_TYPE]]) -> ()
9
+ // CHECK: llvm.call @_ZN2cl4sycl2idILi1EEC2Ev({{.*}}) : ([[THIS_PTR_TYPE]]) -> ()
11
10
sycl.constructor (%arg0 ) {Type = @id } : (memref <?x!sycl.id <1 >>) -> ()
12
11
return
13
12
}
@@ -16,8 +15,7 @@ func.func @id1Ctor(%arg0: memref<?x!sycl.id<1>>) {
16
15
17
16
// CHECK: llvm.func @_ZN2cl4sycl2idILi2EEC2Ev([[THIS_PTR_TYPE:!llvm.struct<\(ptr<struct<"class.cl::sycl::id.2",.*]])
18
17
func.func @id2Ctor (%arg0: memref <?x!sycl.id <2 >>) {
19
- // CHECK: %0 = builtin.unrealized_conversion_cast %arg0 : memref<?x!sycl_id_2_> to [[THIS_PTR_TYPE]]
20
- // CHECK-NEXT: llvm.call @_ZN2cl4sycl2idILi2EEC2Ev(%0) : ([[THIS_PTR_TYPE]]) -> ()
18
+ // CHECK: llvm.call @_ZN2cl4sycl2idILi2EEC2Ev({{.*}}) : ([[THIS_PTR_TYPE]]) -> ()
21
19
sycl.constructor (%arg0 ) {Type = @id } : (memref <?x!sycl.id <2 >>) -> ()
22
20
return
23
21
}
@@ -26,8 +24,7 @@ func.func @id2Ctor(%arg0: memref<?x!sycl.id<2>>) {
26
24
27
25
// CHECK: llvm.func @_ZN2cl4sycl2idILi3EEC2Ev([[THIS_PTR_TYPE:!llvm.struct<\(ptr<struct<"class.cl::sycl::id.3",.*]])
28
26
func.func @id3Ctor (%arg0: memref <?x!sycl.id <3 >>) {
29
- // CHECK: %0 = builtin.unrealized_conversion_cast %arg0 : memref<?x!sycl_id_3_> to [[THIS_PTR_TYPE]]
30
- // CHECK-NEXT: llvm.call @_ZN2cl4sycl2idILi3EEC2Ev(%0) : ([[THIS_PTR_TYPE]]) -> ()
27
+ // CHECK: llvm.call @_ZN2cl4sycl2idILi3EEC2Ev({{.*}}) : ([[THIS_PTR_TYPE]]) -> ()
31
28
sycl.constructor (%arg0 ) {Type = @id } : (memref <?x!sycl.id <3 >>) -> ()
32
29
return
33
30
}
@@ -40,8 +37,7 @@ func.func @id3Ctor(%arg0: memref<?x!sycl.id<3>>) {
40
37
41
38
// CHECK: llvm.func @_ZN2cl4sycl2idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE([[THIS_PTR_TYPE:!llvm.struct<\(ptr<struct<"class.cl::sycl::id.1",.*]], i64)
42
39
func.func @id1CtorSizeT (%arg0: memref <?x!sycl.id <1 >>, %arg1: i64 ) {
43
- // CHECK: %0 = builtin.unrealized_conversion_cast %arg0 : memref<?x!sycl_id_1_> to [[THIS_PTR_TYPE]]
44
- // CHECK-NEXT: llvm.call @_ZN2cl4sycl2idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE(%0, %arg1) : ([[THIS_PTR_TYPE]], i64) -> ()
40
+ // CHECK: llvm.call @_ZN2cl4sycl2idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeE({{.*}}, %arg5) : ([[THIS_PTR_TYPE]], i64) -> ()
45
41
sycl.constructor (%arg0 , %arg1 ) {Type = @id } : (memref <?x!sycl.id <1 >>, i64 ) -> ()
46
42
return
47
43
}
@@ -51,8 +47,7 @@ func.func @id1CtorSizeT(%arg0: memref<?x!sycl.id<1>>, %arg1: i64) {
51
47
52
48
// CHECK: llvm.func @_ZN2cl4sycl2idILi2EEC2ILi2EEENSt9enable_ifIXeqT_Li2EEmE4typeE([[THIS_PTR_TYPE:!llvm.struct<\(ptr<struct<"class.cl::sycl::id.2",.*]], i64)
53
49
func.func @id2CtorSizeT (%arg0: memref <?x!sycl.id <2 >>, %arg1: i64 ) {
54
- // CHECK: %0 = builtin.unrealized_conversion_cast %arg0 : memref<?x!sycl_id_2_> to [[THIS_PTR_TYPE]]
55
- // CHECK-NEXT: llvm.call @_ZN2cl4sycl2idILi2EEC2ILi2EEENSt9enable_ifIXeqT_Li2EEmE4typeE(%0, %arg1) : ([[THIS_PTR_TYPE]], i64) -> ()
50
+ // CHECK: llvm.call @_ZN2cl4sycl2idILi2EEC2ILi2EEENSt9enable_ifIXeqT_Li2EEmE4typeE({{.*}}, %arg5) : ([[THIS_PTR_TYPE]], i64) -> ()
56
51
sycl.constructor (%arg0 , %arg1 ) {Type = @id } : (memref <?x!sycl.id <2 >>, i64 ) -> ()
57
52
return
58
53
}
@@ -61,8 +56,7 @@ func.func @id2CtorSizeT(%arg0: memref<?x!sycl.id<2>>, %arg1: i64) {
61
56
62
57
// CHECK: llvm.func @_ZN2cl4sycl2idILi3EEC2ILi3EEENSt9enable_ifIXeqT_Li3EEmE4typeE([[THIS_PTR_TYPE:!llvm.struct<\(ptr<struct<"class.cl::sycl::id.3",.*]], i64)
63
58
func.func @id3CtorSizeT (%arg0: memref <?x!sycl.id <3 >>, %arg1: i64 ) {
64
- // CHECK: %0 = builtin.unrealized_conversion_cast %arg0 : memref<?x!sycl_id_3_> to [[THIS_PTR_TYPE]]
65
- // CHECK-NEXT: llvm.call @_ZN2cl4sycl2idILi3EEC2ILi3EEENSt9enable_ifIXeqT_Li3EEmE4typeE(%0, %arg1) : ([[THIS_PTR_TYPE]], i64) -> ()
59
+ // CHECK: llvm.call @_ZN2cl4sycl2idILi3EEC2ILi3EEENSt9enable_ifIXeqT_Li3EEmE4typeE({{.*}}, %arg5) : ([[THIS_PTR_TYPE]], i64) -> ()
66
60
sycl.constructor (%arg0 , %arg1 ) {Type = @id } : (memref <?x!sycl.id <3 >>, i64 ) -> ()
67
61
return
68
62
}
@@ -75,8 +69,7 @@ func.func @id3CtorSizeT(%arg0: memref<?x!sycl.id<3>>, %arg1: i64) {
75
69
76
70
// CHECK: llvm.func @_ZN2cl4sycl2idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeEm([[THIS_PTR_TYPE:!llvm.struct<\(ptr<struct<"class.cl::sycl::id.1",.*]], i64, i64)
77
71
func.func @id1CtorRange (%arg0: memref <?x!sycl.id <1 >>, %arg1: i64 , %arg2: i64 ) {
78
- // CHECK: %0 = builtin.unrealized_conversion_cast %arg0 : memref<?x!sycl_id_1_> to [[THIS_PTR_TYPE]]
79
- // CHECK-NEXT: llvm.call @_ZN2cl4sycl2idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeEm(%0, %arg1, %arg2) : ([[THIS_PTR_TYPE]], i64, i64) -> ()
72
+ // CHECK: llvm.call @_ZN2cl4sycl2idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeEm({{.*}}, %arg5, %arg6) : ([[THIS_PTR_TYPE]], i64, i64) -> ()
80
73
sycl.constructor (%arg0 , %arg1 , %arg2 ) {Type = @id } : (memref <?x!sycl.id <1 >>, i64 , i64 ) -> ()
81
74
return
82
75
}
@@ -85,8 +78,7 @@ func.func @id1CtorRange(%arg0: memref<?x!sycl.id<1>>, %arg1: i64, %arg2: i64) {
85
78
86
79
// CHECK: llvm.func @_ZN2cl4sycl2idILi2EEC2ILi2EEENSt9enable_ifIXeqT_Li2EEmE4typeEm([[THIS_PTR_TYPE:!llvm.struct<\(ptr<struct<"class.cl::sycl::id.2",.*]], i64, i64)
87
80
func.func @id2CtorRange (%arg0: memref <?x!sycl.id <2 >>, %arg1: i64 , %arg2: i64 ) {
88
- // CHECK: %0 = builtin.unrealized_conversion_cast %arg0 : memref<?x!sycl_id_2_> to [[THIS_PTR_TYPE]]
89
- // CHECK-NEXT: llvm.call @_ZN2cl4sycl2idILi2EEC2ILi2EEENSt9enable_ifIXeqT_Li2EEmE4typeEm(%0, %arg1, %arg2) : ([[THIS_PTR_TYPE]], i64, i64) -> ()
81
+ // CHECK: llvm.call @_ZN2cl4sycl2idILi2EEC2ILi2EEENSt9enable_ifIXeqT_Li2EEmE4typeEm({{.*}}, %arg5, %arg6) : ([[THIS_PTR_TYPE]], i64, i64) -> ()
90
82
sycl.constructor (%arg0 , %arg1 , %arg2 ) {Type = @id } : (memref <?x!sycl.id <2 >>, i64 , i64 ) -> ()
91
83
return
92
84
}
@@ -95,8 +87,7 @@ func.func @id2CtorRange(%arg0: memref<?x!sycl.id<2>>, %arg1: i64, %arg2: i64) {
95
87
96
88
// CHECK: llvm.func @_ZN2cl4sycl2idILi3EEC2ILi3EEENSt9enable_ifIXeqT_Li3EEmE4typeEm([[THIS_PTR_TYPE:!llvm.struct<\(ptr<struct<"class.cl::sycl::id.3",.*]], i64, i64)
97
89
func.func @id3CtorRange (%arg0: memref <?x!sycl.id <3 >>, %arg1: i64 , %arg2: i64 ) {
98
- // CHECK: %0 = builtin.unrealized_conversion_cast %arg0 : memref<?x!sycl_id_3_> to [[THIS_PTR_TYPE]]
99
- // CHECK-NEXT: llvm.call @_ZN2cl4sycl2idILi3EEC2ILi3EEENSt9enable_ifIXeqT_Li3EEmE4typeEm(%0, %arg1, %arg2) : ([[THIS_PTR_TYPE]], i64, i64) -> ()
90
+ // CHECK: llvm.call @_ZN2cl4sycl2idILi3EEC2ILi3EEENSt9enable_ifIXeqT_Li3EEmE4typeEm({{.*}}, %arg5, %arg6) : ([[THIS_PTR_TYPE]], i64, i64) -> ()
100
91
sycl.constructor (%arg0 , %arg1 , %arg2 ) {Type = @id } : (memref <?x!sycl.id <3 >>, i64 , i64 ) -> ()
101
92
return
102
93
}
@@ -109,8 +100,7 @@ func.func @id3CtorRange(%arg0: memref<?x!sycl.id<3>>, %arg1: i64, %arg2: i64) {
109
100
110
101
// CHECK: llvm.func @_ZN2cl4sycl2idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeEmm([[THIS_PTR_TYPE:!llvm.struct<\(ptr<struct<"class.cl::sycl::id.1",.*]], i64, i64, i64)
111
102
func.func @id1CtorItem (%arg0: memref <?x!sycl.id <1 >>, %arg1: i64 , %arg2: i64 , %arg3: i64 ) {
112
- // CHECK: %0 = builtin.unrealized_conversion_cast %arg0 : memref<?x!sycl_id_1_> to [[THIS_PTR_TYPE]]
113
- // CHECK-NEXT: llvm.call @_ZN2cl4sycl2idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeEmm(%0, %arg1, %arg2, %arg3) : ([[THIS_PTR_TYPE]], i64, i64, i64) -> ()
103
+ // CHECK: llvm.call @_ZN2cl4sycl2idILi1EEC2ILi1EEENSt9enable_ifIXeqT_Li1EEmE4typeEmm({{.*}}, %arg5, %arg6, %arg7) : ([[THIS_PTR_TYPE]], i64, i64, i64) -> ()
114
104
sycl.constructor (%arg0 , %arg1 , %arg2 , %arg3 ) {Type = @id } : (memref <?x!sycl.id <1 >>, i64 , i64 , i64 ) -> ()
115
105
return
116
106
}
@@ -119,8 +109,7 @@ func.func @id1CtorItem(%arg0: memref<?x!sycl.id<1>>, %arg1: i64, %arg2: i64, %ar
119
109
120
110
// CHECK: llvm.func @_ZN2cl4sycl2idILi2EEC2ILi2EEENSt9enable_ifIXeqT_Li2EEmE4typeEmm([[THIS_PTR_TYPE:!llvm.struct<\(ptr<struct<"class.cl::sycl::id.2",.*]], i64, i64, i64)
121
111
func.func @id2CtorItem (%arg0: memref <?x!sycl.id <2 >>, %arg1: i64 , %arg2: i64 , %arg3: i64 ) {
122
- // CHECK: %0 = builtin.unrealized_conversion_cast %arg0 : memref<?x!sycl_id_2_> to [[THIS_PTR_TYPE]]
123
- // CHECK-NEXT: llvm.call @_ZN2cl4sycl2idILi2EEC2ILi2EEENSt9enable_ifIXeqT_Li2EEmE4typeEmm(%0, %arg1, %arg2, %arg3) : ([[THIS_PTR_TYPE]], i64, i64, i64) -> ()
112
+ // CHECK: llvm.call @_ZN2cl4sycl2idILi2EEC2ILi2EEENSt9enable_ifIXeqT_Li2EEmE4typeEmm({{.*}}, %arg5, %arg6, %arg7) : ([[THIS_PTR_TYPE]], i64, i64, i64) -> ()
124
113
sycl.constructor (%arg0 , %arg1 , %arg2 , %arg3 ) {Type = @id } : (memref <?x!sycl.id <2 >>, i64 , i64 , i64 ) -> ()
125
114
return
126
115
}
@@ -129,8 +118,7 @@ func.func @id2CtorItem(%arg0: memref<?x!sycl.id<2>>, %arg1: i64, %arg2: i64, %ar
129
118
130
119
// CHECK: llvm.func @_ZN2cl4sycl2idILi3EEC2ILi3EEENSt9enable_ifIXeqT_Li3EEmE4typeEmm([[THIS_PTR_TYPE:!llvm.struct<\(ptr<struct<"class.cl::sycl::id.3",.*]], i64, i64, i64)
131
120
func.func @id3CtorItem (%arg0: memref <?x!sycl.id <3 >>, %arg1: i64 , %arg2: i64 , %arg3: i64 ) {
132
- // CHECK: %0 = builtin.unrealized_conversion_cast %arg0 : memref<?x!sycl_id_3_> to [[THIS_PTR_TYPE]]
133
- // CHECK-NEXT: llvm.call @_ZN2cl4sycl2idILi3EEC2ILi3EEENSt9enable_ifIXeqT_Li3EEmE4typeEmm(%0, %arg1, %arg2, %arg3) : ([[THIS_PTR_TYPE]], i64, i64, i64) -> ()
121
+ // CHECK: llvm.call @_ZN2cl4sycl2idILi3EEC2ILi3EEENSt9enable_ifIXeqT_Li3EEmE4typeEmm({{.*}}, %arg5, %arg6, %arg7) : ([[THIS_PTR_TYPE]], i64, i64, i64) -> ()
134
122
sycl.constructor (%arg0 , %arg1 , %arg2 , %arg3 ) {Type = @id } : (memref <?x!sycl.id <3 >>, i64 , i64 , i64 ) -> ()
135
123
return
136
124
}
0 commit comments