@@ -80,39 +80,39 @@ subroutine slice_with_explicit_iters
80
80
! CHECK: %[[VAL_8:.*]] = constant 1 : index
81
81
! CHECK: %[[VAL_9:.*]] = fir.shape %[[VAL_1]], %[[VAL_2]] : (index, index) -> !fir.shape<2>
82
82
! CHECK: %[[VAL_10:.*]] = fir.array_load %[[VAL_3]](%[[VAL_9]]) : (!fir.ref<!fir.array<10x10xi32>>, !fir.shape<2>) -> !fir.array<10x10xi32>
83
- ! CHECK: %[[VAL_11:.*]] = fir.do_loop %[[VAL_12:.*]] = %[[VAL_5]] to %[[VAL_7]] step %[[VAL_8]] unordered iter_args(%[[VAL_13:.*]] = %[[VAL_10]]) -> (!fir.array<10x10xi32>) {
84
- ! CHECK: %[[VAL_14 :.*]] = fir.convert %[[VAL_12]] : (index) -> i32
85
- ! CHECK: fir.store %[[VAL_14]] to %[[VAL_0 ]] : !fir.ref<i32>
86
- ! CHECK: %[[VAL_15 :.*]] = constant 1 : i64
87
- ! CHECK: %[[VAL_16:.* ]] = fir.load %[[VAL_0]] : !fir.ref<i32>
88
- ! CHECK: %[[VAL_17:.*]] = fir.convert %[[VAL_16]] : (i32) -> i64
89
- ! CHECK: %[[VAL_18:.*]] = constant 1 : i64
90
- ! CHECK: %[[VAL_19:.*]] = fir.convert %[[VAL_18]] : (i64 ) -> index
91
- ! CHECK: %[[VAL_20:.*]] = constant 0 : index
92
- ! CHECK: %[[VAL_21:.*]] = fir.convert %[[VAL_15 ]] : (i64) -> index
93
- ! CHECK: %[[VAL_22:.*]] = fir.convert %[[VAL_17]] : (i64) -> index
94
- ! CHECK: %[[VAL_23:.*]] = subi %[[VAL_22]], %[[VAL_21]] : index
95
- ! CHECK: %[[VAL_24:.*]] = addi %[[VAL_23]], %[[ VAL_19]] : index
96
- ! CHECK: %[[VAL_25:.*]] = divi_signed %[[VAL_24]], %[[VAL_19 ]] : index
97
- ! CHECK: %[[VAL_26:.*]] = cmpi sgt, %[[VAL_25]], %[[VAL_20 ]] : index
98
- ! CHECK: %[[VAL_27:.*]] = select %[[VAL_26]], %[[VAL_25]], %[[VAL_20 ]] : index
99
- ! CHECK: %[[VAL_28:.*]] = fir.load %[[VAL_0]] : !fir.ref<i32>
100
- ! CHECK: %[[VAL_29:.*]] = constant 1 : index
101
- ! CHECK: %[[VAL_30:.*]] = constant 0 : index
102
- ! CHECK: %[[VAL_31:.*]] = subi %[[VAL_27]], %[[VAL_29]] : index
103
- ! CHECK: %[[VAL_32:.*]] = fir.do_loop %[[VAL_33:.*]] = %[[VAL_30]] to %[[VAL_31]] step %[[VAL_29]] unordered iter_args(%[[VAL_34:.*]] = %[[VAL_10]]) -> (!fir.array<10x10xi32>) {
104
- ! CHECK: %[[VAL_35 :.*]] = constant 0 : i32
105
- ! CHECK: %[[VAL_36:.*]] = subi %[[VAL_35]], %[[VAL_28]] : i32
106
- ! CHECK: %[[VAL_37:.*]] = constant 1 : i64
107
- ! CHECK: %[[VAL_38:.*]] = fir.convert %[[VAL_37]] : (i64) -> index
108
- ! CHECK: %[[VAL_39:.*]] = constant 1 : i64
109
- ! CHECK: %[[VAL_40:.*]] = fir.convert %[[VAL_39 ]] : (i64) -> index
110
- ! CHECK: %[[VAL_41:.*]] = muli %[[VAL_33 ]], %[[VAL_40]] : index
111
- ! CHECK: %[[VAL_42:.*]] = addi %[[VAL_38 ]], %[[VAL_41]] : index
83
+ ! CHECK: %[[VAL_11:.*]] = constant 1 : i64
84
+ ! CHECK: %[[VAL_12 :.*]] = constant 1 : i64
85
+ ! CHECK: %[[VAL_13:.*]] = fir.do_loop %[[VAL_14:.* ]] = %[[VAL_5]] to %[[VAL_7 ]] step %[[VAL_8]] unordered iter_args(%[[VAL_15:.*]] = %[[VAL_10]]) -> ( !fir.array<10x10xi32>) {
86
+ ! CHECK: %[[VAL_16 :.*]] = fir.convert %[[VAL_14]] : (index) -> i32
87
+ ! CHECK: fir.store %[[VAL_16]] to %[[VAL_0]] : !fir.ref<i32>
88
+ ! CHECK: %[[VAL_17:.*]] = constant 1 : i64
89
+ ! CHECK: %[[VAL_18:.*]] = fir.load %[[VAL_0]] : !fir.ref<i32>
90
+ ! CHECK: %[[VAL_19:.*]] = fir.convert %[[VAL_18]] : (i32 ) -> i64
91
+ ! CHECK: %[[VAL_20:.*]] = constant 1 : i64
92
+ ! CHECK: %[[VAL_21:.*]] = fir.convert %[[VAL_20 ]] : (i64) -> index
93
+ ! CHECK: %[[VAL_22:.*]] = constant 0 : index
94
+ ! CHECK: %[[VAL_23:.*]] = fir.convert %[[VAL_17]] : (i64) -> index
95
+ ! CHECK: %[[VAL_24:.*]] = fir.convert %[[VAL_19]] : (i64) -> index
96
+ ! CHECK: %[[VAL_25:.*]] = subi %[[VAL_24]], %[[VAL_23 ]] : index
97
+ ! CHECK: %[[VAL_26:.*]] = addi %[[VAL_25]], %[[VAL_21 ]] : index
98
+ ! CHECK: %[[VAL_27:.*]] = divi_signed %[[VAL_26]], %[[VAL_21 ]] : index
99
+ ! CHECK: %[[VAL_28:.*]] = cmpi sgt, %[[VAL_27]], %[[VAL_22]] : index
100
+ ! CHECK: %[[VAL_29:.*]] = select %[[VAL_28]], %[[VAL_27]], %[[VAL_22]] : index
101
+ ! CHECK: %[[VAL_30:.*]] = constant 1 : index
102
+ ! CHECK: %[[VAL_31:.*]] = constant 0 : index
103
+ ! CHECK: %[[VAL_32:.*]] = subi %[[VAL_29]], %[[VAL_30]] : index
104
+ ! CHECK: %[[VAL_33:.*]] = fir.do_loop %[[VAL_34 :.*]] = %[[VAL_31]] to %[[VAL_32]] step %[[VAL_30]] unordered iter_args(%[[VAL_35:.*]] = %[[VAL_15]]) -> (!fir.array<10x10xi32>) {
105
+ ! CHECK: %[[VAL_36:.*]] = fir.load %[[VAL_0]] : !fir.ref< i32>
106
+ ! CHECK: %[[VAL_37:.*]] = constant 0 : i32
107
+ ! CHECK: %[[VAL_38:.*]] = subi %[[VAL_37]], %[[VAL_36]] : i32
108
+ ! CHECK: %[[VAL_39:.*]] = fir.convert %[[VAL_11]] : ( i64) -> index
109
+ ! CHECK: %[[VAL_40:.*]] = fir.convert %[[VAL_12 ]] : (i64) -> index
110
+ ! CHECK: %[[VAL_41:.*]] = muli %[[VAL_34 ]], %[[VAL_40]] : index
111
+ ! CHECK: %[[VAL_42:.*]] = addi %[[VAL_39 ]], %[[VAL_41]] : index
112
112
! CHECK: %[[VAL_43:.*]] = fir.load %[[VAL_0]] : !fir.ref<i32>
113
113
! CHECK: %[[VAL_44:.*]] = fir.convert %[[VAL_43]] : (i32) -> i64
114
114
! CHECK: %[[VAL_45:.*]] = fir.convert %[[VAL_44]] : (i64) -> index
115
- ! CHECK: %[[VAL_46:.*]] = fir.array_update %[[VAL_13 ]], %[[VAL_36 ]], %[[VAL_42]], %[[VAL_45]] {Fortran.offsets} : (!fir.array<10x10xi32>, i32, index, index) -> !fir.array<10x10xi32>
115
+ ! CHECK: %[[VAL_46:.*]] = fir.array_update %[[VAL_35 ]], %[[VAL_38 ]], %[[VAL_42]], %[[VAL_45]] {Fortran.offsets} : (!fir.array<10x10xi32>, i32, index, index) -> !fir.array<10x10xi32>
116
116
! CHECK: fir.result %[[VAL_46]] : !fir.array<10x10xi32>
117
117
! CHECK: }
118
118
! CHECK: fir.result %[[VAL_47:.*]] : !fir.array<10x10xi32>
0 commit comments