@@ -63,18 +63,18 @@ func.func @addrof() {
63
63
// CHECK: func.func private @paramcomplex16(!fir.ref<tuple<!fir.real<16>, !fir.real<16>>> {llvm.align = 16 : i32, llvm.byval = tuple<!fir.real<16>, !fir.real<16>>})
64
64
65
65
// CHECK-LABEL: func.func @callcomplex16() {
66
- // CHECK: %[[VAL_0:.*]] = fir.call @ llvm.stacksave.p0() : () -> !fir.ref<i8>
66
+ // CHECK: %[[VAL_0:.*]] = llvm.intr.stacksave : !llvm.ptr
67
67
// CHECK: %[[VAL_1:.*]] = fir.alloca tuple<!fir.real<16>, !fir.real<16>>
68
68
// CHECK: fir.call @returncomplex16(%[[VAL_1]]) : (!fir.ref<tuple<!fir.real<16>, !fir.real<16>>>) -> ()
69
69
// CHECK: %[[VAL_2:.*]] = fir.convert %[[VAL_1]] : (!fir.ref<tuple<!fir.real<16>, !fir.real<16>>>) -> !fir.ref<!fir.complex<16>>
70
70
// CHECK: %[[VAL_3:.*]] = fir.load %[[VAL_2]] : !fir.ref<!fir.complex<16>>
71
- // CHECK: fir.call @ llvm.stackrestore.p0( %[[VAL_0]]) : (!fir.ref<i8>) -> ()
72
- // CHECK: %[[VAL_4:.*]] = fir.call @ llvm.stacksave.p0() : () -> !fir.ref<i8>
71
+ // CHECK: llvm.intr.stackrestore %[[VAL_0]] : !llvm.ptr
72
+ // CHECK: %[[VAL_4:.*]] = llvm.intr.stacksave : !llvm.ptr
73
73
// CHECK: %[[VAL_5:.*]] = fir.alloca !fir.complex<16>
74
74
// CHECK: fir.store %[[VAL_3]] to %[[VAL_5]] : !fir.ref<!fir.complex<16>>
75
75
// CHECK: %[[VAL_6:.*]] = fir.convert %[[VAL_5]] : (!fir.ref<!fir.complex<16>>) -> !fir.ref<tuple<!fir.real<16>, !fir.real<16>>>
76
76
// CHECK: fir.call @paramcomplex16(%[[VAL_6]]) : (!fir.ref<tuple<!fir.real<16>, !fir.real<16>>>) -> ()
77
- // CHECK: fir.call @ llvm.stackrestore.p0( %[[VAL_4]]) : (!fir.ref<i8>) -> ()
77
+ // CHECK: llvm.intr.stackrestore %[[VAL_4]] : !llvm.ptr
78
78
// CHECK: return
79
79
// CHECK: }
80
80
// CHECK: func.func private @calleemultipleparamscomplex16(!fir.ref<tuple<!fir.real<16>, !fir.real<16>>> {llvm.align = 16 : i32, llvm.byval = tuple<!fir.real<16>, !fir.real<16>>}, !fir.ref<tuple<!fir.real<16>, !fir.real<16>>> {llvm.align = 16 : i32, llvm.byval = tuple<!fir.real<16>, !fir.real<16>>}, !fir.ref<tuple<!fir.real<16>, !fir.real<16>>> {llvm.align = 16 : i32, llvm.byval = tuple<!fir.real<16>, !fir.real<16>>})
@@ -87,7 +87,7 @@ func.func @addrof() {
87
87
// CHECK: %[[VAL_6:.*]] = fir.load %[[VAL_5]] : !fir.ref<!fir.complex<16>>
88
88
// CHECK: %[[VAL_7:.*]] = fir.convert %[[VAL_0]] : (!fir.ref<tuple<!fir.real<16>, !fir.real<16>>>) -> !fir.ref<!fir.complex<16>>
89
89
// CHECK: %[[VAL_8:.*]] = fir.load %[[VAL_7]] : !fir.ref<!fir.complex<16>>
90
- // CHECK: %[[VAL_9:.*]] = fir.call @ llvm.stacksave.p0() : () -> !fir.ref<i8>
90
+ // CHECK: %[[VAL_9:.*]] = llvm.intr.stacksave : !llvm.ptr
91
91
// CHECK: %[[VAL_10:.*]] = fir.alloca !fir.complex<16>
92
92
// CHECK: fir.store %[[VAL_8]] to %[[VAL_10]] : !fir.ref<!fir.complex<16>>
93
93
// CHECK: %[[VAL_11:.*]] = fir.convert %[[VAL_10]] : (!fir.ref<!fir.complex<16>>) -> !fir.ref<tuple<!fir.real<16>, !fir.real<16>>>
@@ -98,7 +98,7 @@ func.func @addrof() {
98
98
// CHECK: fir.store %[[VAL_4]] to %[[VAL_14]] : !fir.ref<!fir.complex<16>>
99
99
// CHECK: %[[VAL_15:.*]] = fir.convert %[[VAL_14]] : (!fir.ref<!fir.complex<16>>) -> !fir.ref<tuple<!fir.real<16>, !fir.real<16>>>
100
100
// CHECK: fir.call @calleemultipleparamscomplex16(%[[VAL_11]], %[[VAL_13]], %[[VAL_15]]) : (!fir.ref<tuple<!fir.real<16>, !fir.real<16>>>, !fir.ref<tuple<!fir.real<16>, !fir.real<16>>>, !fir.ref<tuple<!fir.real<16>, !fir.real<16>>>) -> ()
101
- // CHECK: fir.call @ llvm.stackrestore.p0( %[[VAL_9]]) : (!fir.ref<i8>) -> ()
101
+ // CHECK: llvm.intr.stackrestore %[[VAL_9]] : !llvm.ptr
102
102
// CHECK: return
103
103
// CHECK: }
104
104
@@ -108,7 +108,7 @@ func.func @addrof() {
108
108
// CHECK: %[[VAL_4:.*]] = fir.load %[[VAL_3]] : !fir.ref<complex<f128>>
109
109
// CHECK: %[[VAL_5:.*]] = fir.convert %[[VAL_1]] : (!fir.ref<tuple<f128, f128>>) -> !fir.ref<complex<f128>>
110
110
// CHECK: %[[VAL_6:.*]] = fir.load %[[VAL_5]] : !fir.ref<complex<f128>>
111
- // CHECK: %[[VAL_7:.*]] = fir.call @ llvm.stacksave.p0() : () -> !fir.ref<i8>
111
+ // CHECK: %[[VAL_7:.*]] = llvm.intr.stacksave : !llvm.ptr
112
112
// CHECK: %[[VAL_8:.*]] = fir.alloca tuple<f128, f128>
113
113
// CHECK: %[[VAL_9:.*]] = fir.alloca complex<f128>
114
114
// CHECK: fir.store %[[VAL_6]] to %[[VAL_9]] : !fir.ref<complex<f128>>
@@ -119,7 +119,7 @@ func.func @addrof() {
119
119
// CHECK: fir.call @mlircomplexf128(%[[VAL_8]], %[[VAL_10]], %[[VAL_12]]) : (!fir.ref<tuple<f128, f128>>, !fir.ref<tuple<f128, f128>>, !fir.ref<tuple<f128, f128>>) -> ()
120
120
// CHECK: %[[VAL_13:.*]] = fir.convert %[[VAL_8]] : (!fir.ref<tuple<f128, f128>>) -> !fir.ref<complex<f128>>
121
121
// CHECK: %[[VAL_14:.*]] = fir.load %[[VAL_13]] : !fir.ref<complex<f128>>
122
- // CHECK: fir.call @ llvm.stackrestore.p0( %[[VAL_7]]) : (!fir.ref<i8>) -> ()
122
+ // CHECK: llvm.intr.stackrestore %[[VAL_7]] : !llvm.ptr
123
123
// CHECK: %[[VAL_15:.*]] = fir.convert %[[VAL_0]] : (!fir.ref<tuple<f128, f128>>) -> !fir.ref<complex<f128>>
124
124
// CHECK: fir.store %[[VAL_14]] to %[[VAL_15]] : !fir.ref<complex<f128>>
125
125
// CHECK: return
@@ -130,5 +130,3 @@ func.func @addrof() {
130
130
// CHECK: %[[VAL_1:.*]] = fir.address_of(@paramcomplex16) : (!fir.ref<tuple<!fir.real<16>, !fir.real<16>>>) -> ()
131
131
// CHECK: return
132
132
// CHECK: }
133
- // CHECK: func.func private @llvm.stacksave.p0() -> !fir.ref<i8>
134
- // CHECK: func.func private @llvm.stackrestore.p0(!fir.ref<i8>)
0 commit comments