@@ -21,7 +21,6 @@ struct HasOperatorsInline {
21
21
HasOperatorsInline &operator =(HasOperatorsInline& other);
22
22
};
23
23
24
-
25
24
// CHECK: acc.reduction.recipe @reduction_lor__ZTSA5_18HasOperatorsInline : !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>> reduction_operator <lor> init {
26
25
// CHECK-NEXT: ^bb0(%[[ARG:.*]]: !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>>{{.*}})
27
26
// CHECK-NEXT: %[[ALLOCA:.*]] = cir.alloca !cir.array<!rec_HasOperatorsInline x 5>, !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>>, ["openacc.reduction.init", init]
@@ -64,7 +63,7 @@ struct HasOperatorsInline {
64
63
// TODO OpenACC: Expecting combination operation here
65
64
// CHECK-NEXT: acc.yield %[[LHSARG]] : !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>>
66
65
// CHECK-NEXT: } destroy {
67
- // CHECK-NEXT: ^bb0(%[[ARG:.*]]: !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>> {{.*}}):
66
+ // CHECK-NEXT: ^bb0(%[[ORIG:.*]]: !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>> {{.*}}, %[[ ARG:.*]]: !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>> {{.*}}):
68
67
// CHECK-NEXT: %[[SIZE:.*]] = cir.const #cir.int<4> : !u64i
69
68
// CHECK-NEXT: %[[DECAY:.*]] = cir.cast(array_to_ptrdecay, %[[ARG]] : !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>>), !cir.ptr<!rec_HasOperatorsInline>
70
69
// CHECK-NEXT: %[[LAST_ELT:.*]] = cir.ptr_stride(%[[DECAY]] : !cir.ptr<!rec_HasOperatorsInline>, %[[SIZE]] : !u64i), !cir.ptr<!rec_HasOperatorsInline>
@@ -185,7 +184,7 @@ struct HasOperatorsInline {
185
184
// TODO OpenACC: Expecting combination operation here
186
185
// CHECK-NEXT: acc.yield %[[LHSARG]] : !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>>
187
186
// CHECK-NEXT: } destroy {
188
- // CHECK-NEXT: ^bb0(%[[ARG:.*]]: !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>> {{.*}}):
187
+ // CHECK-NEXT: ^bb0(%[[ORIG:.*]]: !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>> {{.*}}, %[[ ARG:.*]]: !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>> {{.*}}):
189
188
// CHECK-NEXT: %[[SIZE:.*]] = cir.const #cir.int<4> : !u64i
190
189
// CHECK-NEXT: %[[DECAY:.*]] = cir.cast(array_to_ptrdecay, %[[ARG]] : !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>>), !cir.ptr<!rec_HasOperatorsInline>
191
190
// CHECK-NEXT: %[[LAST_ELT:.*]] = cir.ptr_stride(%[[DECAY]] : !cir.ptr<!rec_HasOperatorsInline>, %[[SIZE]] : !u64i), !cir.ptr<!rec_HasOperatorsInline>
@@ -247,7 +246,7 @@ struct HasOperatorsInline {
247
246
// TODO OpenACC: Expecting combination operation here
248
247
// CHECK-NEXT: acc.yield %[[LHSARG]] : !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>>
249
248
// CHECK-NEXT: } destroy {
250
- // CHECK-NEXT: ^bb0(%[[ARG:.*]]: !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>> {{.*}}):
249
+ // CHECK-NEXT: ^bb0(%[[ORIG:.*]]: !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>> {{.*}}, %[[ ARG:.*]]: !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>> {{.*}}):
251
250
// CHECK-NEXT: %[[SIZE:.*]] = cir.const #cir.int<4> : !u64i
252
251
// CHECK-NEXT: %[[DECAY:.*]] = cir.cast(array_to_ptrdecay, %[[ARG]] : !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>>), !cir.ptr<!rec_HasOperatorsInline>
253
252
// CHECK-NEXT: %[[LAST_ELT:.*]] = cir.ptr_stride(%[[DECAY]] : !cir.ptr<!rec_HasOperatorsInline>, %[[SIZE]] : !u64i), !cir.ptr<!rec_HasOperatorsInline>
@@ -310,7 +309,7 @@ struct HasOperatorsInline {
310
309
// TODO OpenACC: Expecting combination operation here
311
310
// CHECK-NEXT: acc.yield %[[LHSARG]] : !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>>
312
311
// CHECK-NEXT: } destroy {
313
- // CHECK-NEXT: ^bb0(%[[ARG:.*]]: !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>> {{.*}}):
312
+ // CHECK-NEXT: ^bb0(%[[ORIG:.*]]: !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>> {{.*}}, %[[ ARG:.*]]: !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>> {{.*}}):
314
313
// CHECK-NEXT: %[[SIZE:.*]] = cir.const #cir.int<4> : !u64i
315
314
// CHECK-NEXT: %[[DECAY:.*]] = cir.cast(array_to_ptrdecay, %[[ARG]] : !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>>), !cir.ptr<!rec_HasOperatorsInline>
316
315
// CHECK-NEXT: %[[LAST_ELT:.*]] = cir.ptr_stride(%[[DECAY]] : !cir.ptr<!rec_HasOperatorsInline>, %[[SIZE]] : !u64i), !cir.ptr<!rec_HasOperatorsInline>
@@ -431,7 +430,7 @@ struct HasOperatorsInline {
431
430
// TODO OpenACC: Expecting combination operation here
432
431
// CHECK-NEXT: acc.yield %[[LHSARG]] : !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>>
433
432
// CHECK-NEXT: } destroy {
434
- // CHECK-NEXT: ^bb0(%[[ARG:.*]]: !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>> {{.*}}):
433
+ // CHECK-NEXT: ^bb0(%[[ORIG:.*]]: !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>> {{.*}}, %[[ ARG:.*]]: !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>> {{.*}}):
435
434
// CHECK-NEXT: %[[SIZE:.*]] = cir.const #cir.int<4> : !u64i
436
435
// CHECK-NEXT: %[[DECAY:.*]] = cir.cast(array_to_ptrdecay, %[[ARG]] : !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>>), !cir.ptr<!rec_HasOperatorsInline>
437
436
// CHECK-NEXT: %[[LAST_ELT:.*]] = cir.ptr_stride(%[[DECAY]] : !cir.ptr<!rec_HasOperatorsInline>, %[[SIZE]] : !u64i), !cir.ptr<!rec_HasOperatorsInline>
@@ -552,7 +551,7 @@ struct HasOperatorsInline {
552
551
// TODO OpenACC: Expecting combination operation here
553
552
// CHECK-NEXT: acc.yield %[[LHSARG]] : !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>>
554
553
// CHECK-NEXT: } destroy {
555
- // CHECK-NEXT: ^bb0(%[[ARG:.*]]: !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>> {{.*}}):
554
+ // CHECK-NEXT: ^bb0(%[[ORIG:.*]]: !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>> {{.*}}, %[[ ARG:.*]]: !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>> {{.*}}):
556
555
// CHECK-NEXT: %[[SIZE:.*]] = cir.const #cir.int<4> : !u64i
557
556
// CHECK-NEXT: %[[DECAY:.*]] = cir.cast(array_to_ptrdecay, %[[ARG]] : !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>>), !cir.ptr<!rec_HasOperatorsInline>
558
557
// CHECK-NEXT: %[[LAST_ELT:.*]] = cir.ptr_stride(%[[DECAY]] : !cir.ptr<!rec_HasOperatorsInline>, %[[SIZE]] : !u64i), !cir.ptr<!rec_HasOperatorsInline>
@@ -673,7 +672,7 @@ struct HasOperatorsInline {
673
672
// TODO OpenACC: Expecting combination operation here
674
673
// CHECK-NEXT: acc.yield %[[LHSARG]] : !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>>
675
674
// CHECK-NEXT: } destroy {
676
- // CHECK-NEXT: ^bb0(%[[ARG:.*]]: !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>> {{.*}}):
675
+ // CHECK-NEXT: ^bb0(%[[ORIG:.*]]: !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>> {{.*}}, %[[ ARG:.*]]: !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>> {{.*}}):
677
676
// CHECK-NEXT: %[[SIZE:.*]] = cir.const #cir.int<4> : !u64i
678
677
// CHECK-NEXT: %[[DECAY:.*]] = cir.cast(array_to_ptrdecay, %[[ARG]] : !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>>), !cir.ptr<!rec_HasOperatorsInline>
679
678
// CHECK-NEXT: %[[LAST_ELT:.*]] = cir.ptr_stride(%[[DECAY]] : !cir.ptr<!rec_HasOperatorsInline>, %[[SIZE]] : !u64i), !cir.ptr<!rec_HasOperatorsInline>
@@ -794,7 +793,7 @@ struct HasOperatorsInline {
794
793
// TODO OpenACC: Expecting combination operation here
795
794
// CHECK-NEXT: acc.yield %[[LHSARG]] : !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>>
796
795
// CHECK-NEXT: } destroy {
797
- // CHECK-NEXT: ^bb0(%[[ARG:.*]]: !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>> {{.*}}):
796
+ // CHECK-NEXT: ^bb0(%[[ORIG:.*]]: !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>> {{.*}}, %[[ ARG:.*]]: !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>> {{.*}}):
798
797
// CHECK-NEXT: %[[SIZE:.*]] = cir.const #cir.int<4> : !u64i
799
798
// CHECK-NEXT: %[[DECAY:.*]] = cir.cast(array_to_ptrdecay, %[[ARG]] : !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>>), !cir.ptr<!rec_HasOperatorsInline>
800
799
// CHECK-NEXT: %[[LAST_ELT:.*]] = cir.ptr_stride(%[[DECAY]] : !cir.ptr<!rec_HasOperatorsInline>, %[[SIZE]] : !u64i), !cir.ptr<!rec_HasOperatorsInline>
@@ -856,7 +855,7 @@ struct HasOperatorsInline {
856
855
// TODO OpenACC: Expecting combination operation here
857
856
// CHECK-NEXT: acc.yield %[[LHSARG]] : !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>>
858
857
// CHECK-NEXT: } destroy {
859
- // CHECK-NEXT: ^bb0(%[[ARG:.*]]: !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>> {{.*}}):
858
+ // CHECK-NEXT: ^bb0(%[[ARG:.*]]: !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>> {{.*}}, %[[ARG:.*]]: !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>> {{.*}} ):
860
859
// CHECK-NEXT: %[[SIZE:.*]] = cir.const #cir.int<4> : !u64i
861
860
// CHECK-NEXT: %[[DECAY:.*]] = cir.cast(array_to_ptrdecay, %[[ARG]] : !cir.ptr<!cir.array<!rec_HasOperatorsInline x 5>>), !cir.ptr<!rec_HasOperatorsInline>
862
861
// CHECK-NEXT: %[[LAST_ELT:.*]] = cir.ptr_stride(%[[DECAY]] : !cir.ptr<!rec_HasOperatorsInline>, %[[SIZE]] : !u64i), !cir.ptr<!rec_HasOperatorsInline>
@@ -903,7 +902,7 @@ struct HasOperatorsInline {
903
902
// TODO OpenACC: Expecting combination operation here
904
903
// CHECK-NEXT: acc.yield %[[LHSARG]] : !cir.ptr<!rec_HasOperatorsInline>
905
904
// CHECK-NEXT: } destroy {
906
- // CHECK-NEXT: ^bb0(%[[ARG:.*]]: !cir.ptr<!rec_HasOperatorsInline> {{.*}}):
905
+ // CHECK-NEXT: ^bb0(%[[ORIG:.*]]: !cir.ptr<!rec_HasOperatorsInline> {{.*}}, %[[ ARG:.*]]: !cir.ptr<!rec_HasOperatorsInline> {{.*}}):
907
906
// CHECK-NEXT: cir.call @_ZN18HasOperatorsInlineD1Ev(%[[ARG]]) nothrow : (!cir.ptr<!rec_HasOperatorsInline>)
908
907
// CHECK-NEXT: acc.yield
909
908
// CHECK-NEXT: }
@@ -933,7 +932,7 @@ struct HasOperatorsInline {
933
932
// TODO OpenACC: Expecting combination operation here
934
933
// CHECK-NEXT: acc.yield %[[LHSARG]] : !cir.ptr<!rec_HasOperatorsInline>
935
934
// CHECK-NEXT: } destroy {
936
- // CHECK-NEXT: ^bb0(%[[ARG:.*]]: !cir.ptr<!rec_HasOperatorsInline> {{.*}}):
935
+ // CHECK-NEXT: ^bb0(%[[ORIG:.*]]: !cir.ptr<!rec_HasOperatorsInline> {{.*}}, %[[ ARG:.*]]: !cir.ptr<!rec_HasOperatorsInline> {{.*}}):
937
936
// CHECK-NEXT: cir.call @_ZN18HasOperatorsInlineD1Ev(%[[ARG]]) nothrow : (!cir.ptr<!rec_HasOperatorsInline>)
938
937
// CHECK-NEXT: acc.yield
939
938
// CHECK-NEXT: }
@@ -963,7 +962,7 @@ struct HasOperatorsInline {
963
962
// TODO OpenACC: Expecting combination operation here
964
963
// CHECK-NEXT: acc.yield %[[LHSARG]] : !cir.ptr<!rec_HasOperatorsInline>
965
964
// CHECK-NEXT: } destroy {
966
- // CHECK-NEXT: ^bb0(%[[ARG:.*]]: !cir.ptr<!rec_HasOperatorsInline> {{.*}}):
965
+ // CHECK-NEXT: ^bb0(%[[ORIG:.*]]: !cir.ptr<!rec_HasOperatorsInline> {{.*}}, %[[ ARG:.*]]: !cir.ptr<!rec_HasOperatorsInline> {{.*}}):
967
966
// CHECK-NEXT: cir.call @_ZN18HasOperatorsInlineD1Ev(%[[ARG]]) nothrow : (!cir.ptr<!rec_HasOperatorsInline>)
968
967
// CHECK-NEXT: acc.yield
969
968
// CHECK-NEXT: }
@@ -993,7 +992,7 @@ struct HasOperatorsInline {
993
992
// TODO OpenACC: Expecting combination operation here
994
993
// CHECK-NEXT: acc.yield %[[LHSARG]] : !cir.ptr<!rec_HasOperatorsInline>
995
994
// CHECK-NEXT: } destroy {
996
- // CHECK-NEXT: ^bb0(%[[ARG:.*]]: !cir.ptr<!rec_HasOperatorsInline> {{.*}}):
995
+ // CHECK-NEXT: ^bb0(%[[ORIG:.*]]: !cir.ptr<!rec_HasOperatorsInline> {{.*}}, %[[ ARG:.*]]: !cir.ptr<!rec_HasOperatorsInline> {{.*}}):
997
996
// CHECK-NEXT: cir.call @_ZN18HasOperatorsInlineD1Ev(%[[ARG]]) nothrow : (!cir.ptr<!rec_HasOperatorsInline>)
998
997
// CHECK-NEXT: acc.yield
999
998
// CHECK-NEXT: }
@@ -1023,7 +1022,7 @@ struct HasOperatorsInline {
1023
1022
// TODO OpenACC: Expecting combination operation here
1024
1023
// CHECK-NEXT: acc.yield %[[LHSARG]] : !cir.ptr<!rec_HasOperatorsInline>
1025
1024
// CHECK-NEXT: } destroy {
1026
- // CHECK-NEXT: ^bb0(%[[ARG:.*]]: !cir.ptr<!rec_HasOperatorsInline> {{.*}}):
1025
+ // CHECK-NEXT: ^bb0(%[[ORIG:.*]]: !cir.ptr<!rec_HasOperatorsInline> {{.*}}, %[[ ARG:.*]]: !cir.ptr<!rec_HasOperatorsInline> {{.*}}):
1027
1026
// CHECK-NEXT: cir.call @_ZN18HasOperatorsInlineD1Ev(%[[ARG]]) nothrow : (!cir.ptr<!rec_HasOperatorsInline>)
1028
1027
// CHECK-NEXT: acc.yield
1029
1028
// CHECK-NEXT: }
@@ -1053,7 +1052,7 @@ struct HasOperatorsInline {
1053
1052
// TODO OpenACC: Expecting combination operation here
1054
1053
// CHECK-NEXT: acc.yield %[[LHSARG]] : !cir.ptr<!rec_HasOperatorsInline>
1055
1054
// CHECK-NEXT: } destroy {
1056
- // CHECK-NEXT: ^bb0(%[[ARG:.*]]: !cir.ptr<!rec_HasOperatorsInline> {{.*}}):
1055
+ // CHECK-NEXT: ^bb0(%[[ORIG:.*]]: !cir.ptr<!rec_HasOperatorsInline> {{.*}}, %[[ ARG:.*]]: !cir.ptr<!rec_HasOperatorsInline> {{.*}}):
1057
1056
// CHECK-NEXT: cir.call @_ZN18HasOperatorsInlineD1Ev(%[[ARG]]) nothrow : (!cir.ptr<!rec_HasOperatorsInline>)
1058
1057
// CHECK-NEXT: acc.yield
1059
1058
// CHECK-NEXT: }
@@ -1083,7 +1082,7 @@ struct HasOperatorsInline {
1083
1082
// TODO OpenACC: Expecting combination operation here
1084
1083
// CHECK-NEXT: acc.yield %[[LHSARG]] : !cir.ptr<!rec_HasOperatorsInline>
1085
1084
// CHECK-NEXT: } destroy {
1086
- // CHECK-NEXT: ^bb0(%[[ARG:.*]]: !cir.ptr<!rec_HasOperatorsInline> {{.*}}):
1085
+ // CHECK-NEXT: ^bb0(%[[ORIG:.*]]: !cir.ptr<!rec_HasOperatorsInline> {{.*}}, %[[ ARG:.*]]: !cir.ptr<!rec_HasOperatorsInline> {{.*}}):
1087
1086
// CHECK-NEXT: cir.call @_ZN18HasOperatorsInlineD1Ev(%[[ARG]]) nothrow : (!cir.ptr<!rec_HasOperatorsInline>)
1088
1087
// CHECK-NEXT: acc.yield
1089
1088
// CHECK-NEXT: }
@@ -1113,7 +1112,7 @@ struct HasOperatorsInline {
1113
1112
// TODO OpenACC: Expecting combination operation here
1114
1113
// CHECK-NEXT: acc.yield %[[LHSARG]] : !cir.ptr<!rec_HasOperatorsInline>
1115
1114
// CHECK-NEXT: } destroy {
1116
- // CHECK-NEXT: ^bb0(%[[ARG:.*]]: !cir.ptr<!rec_HasOperatorsInline> {{.*}}):
1115
+ // CHECK-NEXT: ^bb0(%[[ORIG:.*]]: !cir.ptr<!rec_HasOperatorsInline> {{.*}}, %[[ ARG:.*]]: !cir.ptr<!rec_HasOperatorsInline> {{.*}}):
1117
1116
// CHECK-NEXT: cir.call @_ZN18HasOperatorsInlineD1Ev(%[[ARG]]) nothrow : (!cir.ptr<!rec_HasOperatorsInline>)
1118
1117
// CHECK-NEXT: acc.yield
1119
1118
// CHECK-NEXT: }
@@ -1143,11 +1142,12 @@ struct HasOperatorsInline {
1143
1142
// TODO OpenACC: Expecting combination operation here
1144
1143
// CHECK-NEXT: acc.yield %[[LHSARG]] : !cir.ptr<!rec_HasOperatorsInline>
1145
1144
// CHECK-NEXT: } destroy {
1146
- // CHECK-NEXT: ^bb0(%[[ARG:.*]]: !cir.ptr<!rec_HasOperatorsInline> {{.*}}):
1145
+ // CHECK-NEXT: ^bb0(%[[ORIG:.*]]: !cir.ptr<!rec_HasOperatorsInline> {{.*}}, %[[ ARG:.*]]: !cir.ptr<!rec_HasOperatorsInline> {{.*}}):
1147
1146
// CHECK-NEXT: cir.call @_ZN18HasOperatorsInlineD1Ev(%[[ARG]]) nothrow : (!cir.ptr<!rec_HasOperatorsInline>)
1148
1147
// CHECK-NEXT: acc.yield
1149
1148
// CHECK-NEXT: }
1150
1149
1150
+
1151
1151
template <typename T>
1152
1152
void acc_combined () {
1153
1153
T someVar;
0 commit comments