@@ -2063,8 +2063,6 @@ func.func @omp_requires_multiple() -> ()
2063
2063
return
2064
2064
}
2065
2065
2066
- // -----
2067
-
2068
2066
// CHECK-LABEL: @opaque_pointers_atomic_rwu
2069
2067
// CHECK-SAME: (%[[v:.*]]: !llvm.ptr, %[[x:.*]]: !llvm.ptr)
2070
2068
func.func @opaque_pointers_atomic_rwu (%v: !llvm.ptr , %x: !llvm.ptr ) {
@@ -2171,10 +2169,10 @@ func.func @omp_target_update_data (%if_cond : i1, %device : si32, %map1: memref<
2171
2169
// CHECK-LABEL: omp_targets_is_allocatable
2172
2170
// CHECK-SAME: (%[[ARG0:.*]]: !llvm.ptr, %[[ARG1:.*]]: !llvm.ptr)
2173
2171
func.func @omp_targets_is_allocatable (%arg0: !llvm.ptr , %arg1: !llvm.ptr ) -> () {
2174
- // CHECK: %[[MAP0:.*]] = omp.map_info var_ptr(%[[ARG0]] : !llvm.ptr, i32) map_clauses(tofrom) capture(ByRef) -> !llvm.ptr {name = ""}
2175
- %mapv1 = omp.map_info var_ptr (%arg0 : !llvm.ptr , i32 ) map_clauses (tofrom ) capture (ByRef ) -> !llvm.ptr {name = " " }
2176
- // CHECK: %[[MAP1:.*]] = omp.map_info var_ptr(%[[ARG1]] : !llvm.ptr, !llvm.struct<(ptr, i64, i32, i8, i8, i8, i8)>) map_clauses(tofrom) capture(ByRef) members(%[[MAP0]] : !llvm.ptr) -> !llvm.ptr {name = ""}
2177
- %mapv2 = omp.map_info var_ptr (%arg1 : !llvm.ptr , !llvm.struct <(ptr , i64 , i32 , i8 , i8 , i8 , i8 )>) map_clauses (tofrom ) capture (ByRef ) members (%mapv1 : !llvm.ptr ) -> !llvm.ptr {name = " " }
2172
+ // CHECK: %[[MAP0:.*]] = omp.map_info var_ptr(%[[ARG0]] : !llvm.ptr, i32) map_clauses(ptr_and_obj, tofrom) capture(ByRef) -> !llvm.ptr {name = ""}
2173
+ %mapv1 = omp.map_info var_ptr (%arg0 : !llvm.ptr , i32 ) map_clauses (ptr_and_obj , tofrom ) capture (ByRef ) -> !llvm.ptr {name = " " }
2174
+ // CHECK: %[[MAP1:.*]] = omp.map_info var_ptr(%[[ARG1]] : !llvm.ptr, !llvm.struct<(ptr, i64, i32, i8, i8, i8, i8)>) map_clauses(tofrom) capture(ByRef) members(%[[MAP0]] : !llvm.ptr : [0] ) -> !llvm.ptr {name = ""}
2175
+ %mapv2 = omp.map_info var_ptr (%arg1 : !llvm.ptr , !llvm.struct <(ptr , i64 , i32 , i8 , i8 , i8 , i8 )>) map_clauses (tofrom ) capture (ByRef ) members (%mapv1 : !llvm.ptr : [ 0 ] ) -> !llvm.ptr {name = " " }
2178
2176
// CHECK: omp.target map_entries(%[[MAP0]] -> {{.*}}, %[[MAP1]] -> {{.*}} : !llvm.ptr, !llvm.ptr)
2179
2177
omp.target map_entries (%mapv1 -> %arg2 , %mapv2 -> %arg3 : !llvm.ptr , !llvm.ptr ) {
2180
2178
^bb0 (%arg2: !llvm.ptr , %arg3 : !llvm.ptr ):
@@ -2229,6 +2227,25 @@ func.func @omp_target_enter_update_exit_data_depend(%a: memref<?xi32>, %b: memre
2229
2227
}
2230
2228
// CHECK: omp.target_exit_data map_entries([[MAP2]] : memref<?xi32>) depend(taskdependin -> [[ARG2]] : memref<?xi32>)
2231
2229
omp.target_exit_data map_entries (%map_c : memref <?xi32 >) depend (taskdependin -> %c : memref <?xi32 >)
2230
+
2231
+ return
2232
+ }
2233
+
2234
+ // CHECK-LABEL: omp_map_with_members
2235
+ // CHECK-SAME: (%[[ARG0:.*]]: !llvm.ptr, %[[ARG1:.*]]: !llvm.ptr, %[[ARG2:.*]]: !llvm.ptr)
2236
+ func.func @omp_map_with_members (%arg0: !llvm.ptr , %arg1: !llvm.ptr , %arg2: !llvm.ptr ) -> () {
2237
+ // CHECK: %[[MAP0:.*]] = omp.map_info var_ptr(%[[ARG0]] : !llvm.ptr, i32) map_clauses(to) capture(ByRef) -> !llvm.ptr {name = ""}
2238
+ %mapv1 = omp.map_info var_ptr (%arg0 : !llvm.ptr , i32 ) map_clauses (to ) capture (ByRef ) -> !llvm.ptr {name = " " }
2239
+
2240
+ // CHECK: %[[MAP1:.*]] = omp.map_info var_ptr(%[[ARG1]] : !llvm.ptr, f32) map_clauses(to) capture(ByRef) -> !llvm.ptr {name = ""}
2241
+ %mapv2 = omp.map_info var_ptr (%arg1 : !llvm.ptr , f32 ) map_clauses (to ) capture (ByRef ) -> !llvm.ptr {name = " " }
2242
+
2243
+ // CHECK: %[[MAP2:.*]] = omp.map_info var_ptr(%[[ARG2]] : !llvm.ptr, !llvm.struct<(i32, f32)>) map_clauses(to) capture(ByRef) members(%[[MAP0]], %[[MAP1]] : !llvm.ptr, !llvm.ptr : [0, 1]) -> !llvm.ptr {name = "", partial_map = true}
2244
+ %mapv3 = omp.map_info var_ptr (%arg2 : !llvm.ptr , !llvm.struct <(i32 , f32 )>) map_clauses (to ) capture (ByRef ) members (%mapv1 , %mapv2 : !llvm.ptr , !llvm.ptr : [0 , 1 ]) -> !llvm.ptr {name = " " , partial_map = true }
2245
+
2246
+ // CHECK: omp.target_enter_data map_entries(%[[MAP0]], %[[MAP1]], %[[MAP2]] : !llvm.ptr, !llvm.ptr, !llvm.ptr)
2247
+ omp.target_enter_data map_entries (%mapv1 , %mapv2 , %mapv3 : !llvm.ptr , !llvm.ptr , !llvm.ptr ){}
2248
+
2232
2249
return
2233
2250
}
2234
2251
0 commit comments