Skip to content

Commit 688cbaa

Browse files
committed
[Flang] Fix workdistribute tests
1 parent 987a889 commit 688cbaa

File tree

2 files changed

+29
-36
lines changed

2 files changed

+29
-36
lines changed

flang/test/Transforms/OpenMP/lower-workdistribute-fission-target.mlir

Lines changed: 29 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// RUN: fir-opt --lower-workdistribute %s | FileCheck %s
22

3-
// CHECK-LABEL: func.func @x
3+
// CHECK-LABEL: func.func @x(
44
// CHECK: %[[VAL_0:.*]] = fir.alloca index {bindc_name = "lb"}
55
// CHECK: fir.store %[[ARG0:.*]] to %[[VAL_0]] : !fir.ref<index>
66
// CHECK: %[[VAL_1:.*]] = fir.alloca index {bindc_name = "ub"}
@@ -19,28 +19,26 @@
1919
// CHECK: %[[VAL_11:.*]] = fir.alloca !fir.heap<index>
2020
// CHECK: %[[VAL_12:.*]] = omp.map.info var_ptr(%[[VAL_11]] : !fir.ref<!fir.heap<index>>, !fir.heap<index>) map_clauses(from) capture(ByRef) -> !fir.ref<!fir.heap<index>> {name = "__flang_workdistribute_from"}
2121
// CHECK: %[[VAL_13:.*]] = omp.map.info var_ptr(%[[VAL_11]] : !fir.ref<!fir.heap<index>>, !fir.heap<index>) map_clauses(to) capture(ByRef) -> !fir.ref<!fir.heap<index>> {name = "__flang_workdistribute_to"}
22-
// CHECK: omp.target map_entries(%[[VAL_7]] -> %[[VAL_14:.*]], %[[VAL_8]] -> %[[VAL_15:.*]], %[[VAL_9]] -> %[[VAL_16:.*]], %[[VAL_10]] -> %[[VAL_17:.*]], %[[VAL_12]] -> %[[VAL_18:.*]] : !fir.ref<index>, !fir.ref<index>, !fir.ref<index>, !fir.ref<index>, !fir.ref<!fir.heap<index>>) {
23-
// CHECK: %[[VAL_19:.*]] = arith.constant 1 : index
24-
// CHECK: %[[VAL_20:.*]] = fir.load %[[VAL_14]] : !fir.ref<index>
25-
// CHECK: %[[VAL_21:.*]] = fir.load %[[VAL_15]] : !fir.ref<index>
26-
// CHECK: %[[VAL_22:.*]] = fir.load %[[VAL_16]] : !fir.ref<index>
27-
// CHECK: %[[VAL_23:.*]] = arith.addi %[[VAL_21]], %[[VAL_21]] : index
28-
// CHECK: %[[VAL_24:.*]] = fir.allocmem index, %[[VAL_19]] {uniq_name = "dev_buf"}
29-
// CHECK: fir.store %[[VAL_24]] to %[[VAL_18]] : !fir.llvm_ptr<!fir.heap<index>>
30-
// CHECK: omp.terminator
31-
// CHECK: }
32-
// CHECK: omp.target map_entries(%[[VAL_7]] -> %[[VAL_25:.*]], %[[VAL_8]] -> %[[VAL_26:.*]], %[[VAL_9]] -> %[[VAL_27:.*]], %[[VAL_10]] -> %[[VAL_28:.*]], %[[VAL_13]] -> %[[VAL_29:.*]] : !fir.ref<index>, !fir.ref<index>, !fir.ref<index>, !fir.ref<index>, !fir.ref<!fir.heap<index>>) {
33-
// CHECK: %[[VAL_30:.*]] = fir.load %[[VAL_29]] : !fir.llvm_ptr<!fir.heap<index>>
34-
// CHECK: %[[VAL_31:.*]] = fir.load %[[VAL_25]] : !fir.ref<index>
35-
// CHECK: %[[VAL_32:.*]] = fir.load %[[VAL_26]] : !fir.ref<index>
36-
// CHECK: %[[VAL_33:.*]] = fir.load %[[VAL_27]] : !fir.ref<index>
37-
// CHECK: %[[VAL_34:.*]] = arith.addi %[[VAL_32]], %[[VAL_32]] : index
22+
// CHECK: %[[VAL_14:.*]] = arith.constant 1 : index
23+
// CHECK: %[[VAL_15:.*]] = fir.load %[[VAL_0]] : !fir.ref<index>
24+
// CHECK: %[[VAL_16:.*]] = fir.load %[[VAL_1]] : !fir.ref<index>
25+
// CHECK: %[[VAL_17:.*]] = fir.load %[[VAL_2]] : !fir.ref<index>
26+
// CHECK: %[[VAL_18:.*]] = arith.addi %[[VAL_16]], %[[VAL_16]] : index
27+
// CHECK: %[[VAL_19:.*]] = llvm.mlir.constant(0 : i32) : i32
28+
// CHECK: %[[VAL_20:.*]] = "fir.omp_target_allocmem"(%[[VAL_19]], %[[VAL_14]]) <{in_type = index, operandSegmentSizes = array<i32: 1, 0, 1>, uniq_name = "dev_buf"}> : (i32, index) -> !fir.heap<index>
29+
// CHECK: fir.store %[[VAL_20]] to %[[VAL_11]] : !fir.ref<!fir.heap<index>>
30+
// CHECK: omp.target map_entries(%[[VAL_7]] -> %[[VAL_21:.*]], %[[VAL_8]] -> %[[VAL_22:.*]], %[[VAL_9]] -> %[[VAL_23:.*]], %[[VAL_10]] -> %[[VAL_24:.*]], %[[VAL_13]] -> %[[VAL_25:.*]] : !fir.ref<index>, !fir.ref<index>, !fir.ref<index>, !fir.ref<index>, !fir.ref<!fir.heap<index>>) {
31+
// CHECK: %[[VAL_26:.*]] = fir.load %[[VAL_25]] : !fir.llvm_ptr<!fir.heap<index>>
32+
// CHECK: %[[VAL_27:.*]] = fir.load %[[VAL_21]] : !fir.ref<index>
33+
// CHECK: %[[VAL_28:.*]] = fir.load %[[VAL_22]] : !fir.ref<index>
34+
// CHECK: %[[VAL_29:.*]] = fir.load %[[VAL_23]] : !fir.ref<index>
35+
// CHECK: %[[VAL_30:.*]] = arith.addi %[[VAL_28]], %[[VAL_28]] : index
3836
// CHECK: omp.teams {
3937
// CHECK: omp.parallel {
4038
// CHECK: omp.distribute {
4139
// CHECK: omp.wsloop {
42-
// CHECK: omp.loop_nest (%[[VAL_35:.*]]) : index = (%[[VAL_31]]) to (%[[VAL_32]]) inclusive step (%[[VAL_33]]) {
43-
// CHECK: fir.store %[[VAL_34]] to %[[VAL_30]] : !fir.heap<index>
40+
// CHECK: omp.loop_nest (%[[VAL_31:.*]]) : index = (%[[VAL_27]]) to (%[[VAL_28]]) inclusive step (%[[VAL_29]]) {
41+
// CHECK: fir.store %[[VAL_30]] to %[[VAL_26]] : !fir.heap<index>
4442
// CHECK: omp.yield
4543
// CHECK: }
4644
// CHECK: } {omp.composite}
@@ -51,16 +49,14 @@
5149
// CHECK: }
5250
// CHECK: omp.terminator
5351
// CHECK: }
54-
// CHECK: omp.target map_entries(%[[VAL_7]] -> %[[VAL_36:.*]], %[[VAL_8]] -> %[[VAL_37:.*]], %[[VAL_9]] -> %[[VAL_38:.*]], %[[VAL_10]] -> %[[VAL_39:.*]], %[[VAL_13]] -> %[[VAL_40:.*]] : !fir.ref<index>, !fir.ref<index>, !fir.ref<index>, !fir.ref<index>, !fir.ref<!fir.heap<index>>) {
55-
// CHECK: %[[VAL_41:.*]] = fir.load %[[VAL_40]] : !fir.llvm_ptr<!fir.heap<index>>
56-
// CHECK: %[[VAL_42:.*]] = fir.load %[[VAL_36]] : !fir.ref<index>
57-
// CHECK: %[[VAL_43:.*]] = fir.load %[[VAL_37]] : !fir.ref<index>
58-
// CHECK: %[[VAL_44:.*]] = fir.load %[[VAL_38]] : !fir.ref<index>
59-
// CHECK: %[[VAL_45:.*]] = arith.addi %[[VAL_43]], %[[VAL_43]] : index
60-
// CHECK: fir.store %[[VAL_42]] to %[[VAL_41]] : !fir.heap<index>
61-
// CHECK: fir.freemem %[[VAL_41]] : !fir.heap<index>
62-
// CHECK: omp.terminator
63-
// CHECK: }
52+
// CHECK: %[[VAL_32:.*]] = fir.load %[[VAL_11]] : !fir.ref<!fir.heap<index>>
53+
// CHECK: %[[VAL_33:.*]] = fir.load %[[VAL_0]] : !fir.ref<index>
54+
// CHECK: %[[VAL_34:.*]] = fir.load %[[VAL_1]] : !fir.ref<index>
55+
// CHECK: %[[VAL_35:.*]] = fir.load %[[VAL_2]] : !fir.ref<index>
56+
// CHECK: %[[VAL_36:.*]] = arith.addi %[[VAL_34]], %[[VAL_34]] : index
57+
// CHECK: fir.store %[[VAL_33]] to %[[VAL_32]] : !fir.heap<index>
58+
// CHECK: %[[VAL_37:.*]] = llvm.mlir.constant(0 : i32) : i32
59+
// CHECK: "fir.omp_target_freemem"(%[[VAL_37]], %[[VAL_32]]) : (i32, !fir.heap<index>) -> ()
6460
// CHECK: omp.terminator
6561
// CHECK: }
6662
// CHECK: return
@@ -79,10 +75,10 @@ func.func @x(%lb : index, %ub : index, %step : index, %addr : !fir.ref<index>) {
7975
%step_map = omp.map.info var_ptr(%step_ref : !fir.ref<index>, index) map_clauses(to) capture(ByRef) -> !fir.ref<index> {name = "step"}
8076
%addr_map = omp.map.info var_ptr(%addr : !fir.ref<index>, index) map_clauses(tofrom) capture(ByRef) -> !fir.ref<index> {name = "addr"}
8177

82-
omp.target map_entries(%lb_map -> %arg0, %ub_map -> %arg1, %step_map -> %arg2, %addr_map -> %arg3 : !fir.ref<index>, !fir.ref<index>, !fir.ref<index>, !fir.ref<index>) {
83-
%lb_val = fir.load %arg0 : !fir.ref<index>
84-
%ub_val = fir.load %arg1 : !fir.ref<index>
85-
%step_val = fir.load %arg2 : !fir.ref<index>
78+
omp.target map_entries(%lb_map -> %ARG0, %ub_map -> %ARG1, %step_map -> %ARG2, %addr_map -> %ARG3 : !fir.ref<index>, !fir.ref<index>, !fir.ref<index>, !fir.ref<index>) {
79+
%lb_val = fir.load %ARG0 : !fir.ref<index>
80+
%ub_val = fir.load %ARG1 : !fir.ref<index>
81+
%step_val = fir.load %ARG2 : !fir.ref<index>
8682
%one = arith.constant 1 : index
8783

8884
%20 = arith.addi %ub_val, %ub_val : index

flang/test/Transforms/OpenMP/lower-workdistribute-target.mlir

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,6 @@
1212
// CHECK: %[[VAL_10:.*]] = omp.map.info var_ptr(%[[VAL_0]] : !fir.ref<!fir.type<_QFmaptype_derived_nested_explicit_multiple_membersTscalar_and_array{r:f32,n:!fir.type<_QFmaptype_derived_nested_explicit_multiple_membersTnested{i:i32,r:f32}>}>>, !fir.type<_QFmaptype_derived_nested_explicit_multiple_membersTscalar_and_array{r:f32,n:!fir.type<_QFmaptype_derived_nested_explicit_multiple_membersTnested{i:i32,r:f32}>}>) map_clauses(tofrom) capture(ByRef) members(%[[VAL_3]], %[[VAL_8]] : [1, 0], [1, 1] : !fir.ref<i32>, !fir.ref<f32>) -> !fir.ref<!fir.type<_QFmaptype_derived_nested_explicit_multiple_membersTscalar_and_array{r:f32,n:!fir.type<_QFmaptype_derived_nested_explicit_multiple_membersTnested{i:i32,r:f32}>}>> {name = "sa", partial_map = true}
1313
// CHECK: omp.target_data map_entries(%[[VAL_10]] : !fir.ref<!fir.type<_QFmaptype_derived_nested_explicit_multiple_membersTscalar_and_array{r:f32,n:!fir.type<_QFmaptype_derived_nested_explicit_multiple_membersTnested{i:i32,r:f32}>}>>) {
1414
// CHECK: %[[VAL_11:.*]] = omp.map.info var_ptr(%[[VAL_0]] : !fir.ref<!fir.type<_QFmaptype_derived_nested_explicit_multiple_membersTscalar_and_array{r:f32,n:!fir.type<_QFmaptype_derived_nested_explicit_multiple_membersTnested{i:i32,r:f32}>}>>, !fir.type<_QFmaptype_derived_nested_explicit_multiple_membersTscalar_and_array{r:f32,n:!fir.type<_QFmaptype_derived_nested_explicit_multiple_membersTnested{i:i32,r:f32}>}>) map_clauses(tofrom) capture(ByRef) members(%[[VAL_3]], %[[VAL_8]] : [1, 0], [1, 1] : !fir.ref<i32>, !fir.ref<f32>) -> !fir.ref<!fir.type<_QFmaptype_derived_nested_explicit_multiple_membersTscalar_and_array{r:f32,n:!fir.type<_QFmaptype_derived_nested_explicit_multiple_membersTnested{i:i32,r:f32}>}>> {name = "sa", partial_map = true}
15-
// CHECK: omp.target map_entries(%[[VAL_11]] -> %[[VAL_12:.*]] : !fir.ref<!fir.type<_QFmaptype_derived_nested_explicit_multiple_membersTscalar_and_array{r:f32,n:!fir.type<_QFmaptype_derived_nested_explicit_multiple_membersTnested{i:i32,r:f32}>}>>) {
16-
// CHECK: omp.terminator
17-
// CHECK: }
1815
// CHECK: omp.terminator
1916
// CHECK: }
2017
// CHECK: return

0 commit comments

Comments
 (0)