@@ -164,14 +164,14 @@ entry:
164
164
define ptr @scc_A (ptr dereferenceable_or_null (4 ) %a ) {
165
165
; CHECK: Function Attrs: nofree nosync nounwind memory(none)
166
166
; CHECK-LABEL: define noundef dereferenceable_or_null(4) ptr @scc_A
167
- ; CHECK-SAME: (ptr nofree noundef readnone returned dereferenceable_or_null(4) "no-capture-maybe-returned" [[A:%.*]]) #[[ATTR2:[0-9]+]] {
167
+ ; CHECK-SAME: (ptr nofree noundef readnone returned dereferenceable_or_null(4) [[A:%.*]]) #[[ATTR2:[0-9]+]] {
168
168
; CHECK-NEXT: entry:
169
169
; CHECK-NEXT: [[TOBOOL:%.*]] = icmp ne ptr [[A]], null
170
170
; CHECK-NEXT: br i1 [[TOBOOL]], label [[COND_TRUE:%.*]], label [[COND_FALSE:%.*]]
171
171
; CHECK: cond.true:
172
- ; CHECK-NEXT: [[CALL:%.*]] = call dereferenceable_or_null(4) ptr @scc_C(ptr noalias nofree noundef nonnull readnone dereferenceable(4) "no-capture-maybe-returned" [[A]]) #[[ATTR2]]
173
- ; CHECK-NEXT: [[CALL1:%.*]] = call dereferenceable_or_null(8) ptr @scc_B(ptr noalias nofree noundef readnone dereferenceable_or_null(8) "no-capture-maybe-returned" [[A]]) #[[ATTR2]]
174
- ; CHECK-NEXT: [[CALL2:%.*]] = call ptr @scc_A(ptr noalias nofree noundef readnone dereferenceable_or_null(8) "no-capture-maybe-returned" [[A]]) #[[ATTR2]]
172
+ ; CHECK-NEXT: [[CALL:%.*]] = call dereferenceable_or_null(4) ptr @scc_C(ptr noalias nofree noundef nonnull readnone dereferenceable(4) [[A]]) #[[ATTR2]]
173
+ ; CHECK-NEXT: [[CALL1:%.*]] = call dereferenceable_or_null(8) ptr @scc_B(ptr noalias nofree noundef readnone dereferenceable_or_null(8) [[A]]) #[[ATTR2]]
174
+ ; CHECK-NEXT: [[CALL2:%.*]] = call ptr @scc_A(ptr noalias nofree noundef readnone dereferenceable_or_null(8) [[A]]) #[[ATTR2]]
175
175
; CHECK-NEXT: br label [[COND_END:%.*]]
176
176
; CHECK: cond.false:
177
177
; CHECK-NEXT: br label [[COND_END]]
@@ -201,14 +201,14 @@ cond.end: ; preds = %cond.false, %cond.t
201
201
define ptr @scc_B (ptr dereferenceable_or_null (8 ) %a ) {
202
202
; CHECK: Function Attrs: nofree nosync nounwind memory(none)
203
203
; CHECK-LABEL: define noundef dereferenceable_or_null(8) ptr @scc_B
204
- ; CHECK-SAME: (ptr nofree noundef readnone returned dereferenceable_or_null(8) "no-capture-maybe-returned" [[A:%.*]]) #[[ATTR2]] {
204
+ ; CHECK-SAME: (ptr nofree noundef readnone returned dereferenceable_or_null(8) [[A:%.*]]) #[[ATTR2]] {
205
205
; CHECK-NEXT: entry:
206
206
; CHECK-NEXT: [[TOBOOL:%.*]] = icmp ne ptr [[A]], null
207
207
; CHECK-NEXT: br i1 [[TOBOOL]], label [[COND_TRUE:%.*]], label [[COND_FALSE:%.*]]
208
208
; CHECK: cond.true:
209
- ; CHECK-NEXT: [[CALL:%.*]] = call dereferenceable_or_null(4) ptr @scc_A(ptr noalias nofree noundef nonnull readnone dereferenceable(8) "no-capture-maybe-returned" [[A]]) #[[ATTR2]]
210
- ; CHECK-NEXT: [[CALL1:%.*]] = call dereferenceable_or_null(8) ptr @scc_B(ptr noalias nofree noundef readnone dereferenceable_or_null(8) "no-capture-maybe-returned" [[A]]) #[[ATTR2]]
211
- ; CHECK-NEXT: [[CALL2:%.*]] = call ptr @scc_C(ptr noalias nofree noundef readnone dereferenceable_or_null(8) "no-capture-maybe-returned" [[A]]) #[[ATTR2]]
209
+ ; CHECK-NEXT: [[CALL:%.*]] = call dereferenceable_or_null(4) ptr @scc_A(ptr noalias nofree noundef nonnull readnone dereferenceable(8) [[A]]) #[[ATTR2]]
210
+ ; CHECK-NEXT: [[CALL1:%.*]] = call dereferenceable_or_null(8) ptr @scc_B(ptr noalias nofree noundef readnone dereferenceable_or_null(8) [[A]]) #[[ATTR2]]
211
+ ; CHECK-NEXT: [[CALL2:%.*]] = call ptr @scc_C(ptr noalias nofree noundef readnone dereferenceable_or_null(8) [[A]]) #[[ATTR2]]
212
212
; CHECK-NEXT: br label [[COND_END:%.*]]
213
213
; CHECK: cond.false:
214
214
; CHECK-NEXT: br label [[COND_END]]
@@ -237,20 +237,20 @@ cond.end: ; preds = %cond.false, %cond.t
237
237
define ptr @scc_C (ptr dereferenceable_or_null (2 ) %a ) {
238
238
; CHECK: Function Attrs: nofree nosync nounwind memory(none)
239
239
; CHECK-LABEL: define noundef dereferenceable_or_null(4) ptr @scc_C
240
- ; CHECK-SAME: (ptr nofree noundef readnone returned dereferenceable_or_null(4) "no-capture-maybe-returned" [[A:%.*]]) #[[ATTR2]] {
240
+ ; CHECK-SAME: (ptr nofree noundef readnone returned dereferenceable_or_null(4) [[A:%.*]]) #[[ATTR2]] {
241
241
; CHECK-NEXT: entry:
242
- ; CHECK-NEXT: [[CALL:%.*]] = call dereferenceable_or_null(4) ptr @scc_A(ptr noalias nofree noundef readnone dereferenceable_or_null(4) "no-capture-maybe-returned" [[A]]) #[[ATTR2]]
242
+ ; CHECK-NEXT: [[CALL:%.*]] = call ptr @scc_A(ptr noalias nofree noundef readnone dereferenceable_or_null(4) [[A]]) #[[ATTR2]]
243
243
; CHECK-NEXT: [[TOBOOL:%.*]] = icmp ne ptr [[A]], null
244
244
; CHECK-NEXT: br i1 [[TOBOOL]], label [[COND_TRUE:%.*]], label [[COND_FALSE:%.*]]
245
245
; CHECK: cond.true:
246
- ; CHECK-NEXT: [[CALL1:%.*]] = call ptr @scc_B(ptr noalias nofree noundef readnone dereferenceable_or_null(8) "no-capture-maybe-returned" [[A]]) #[[ATTR2]]
246
+ ; CHECK-NEXT: [[CALL1:%.*]] = call ptr @scc_B(ptr noalias nofree noundef readnone dereferenceable_or_null(8) [[A]]) #[[ATTR2]]
247
247
; CHECK-NEXT: br label [[COND_END:%.*]]
248
248
; CHECK: cond.false:
249
- ; CHECK-NEXT: [[CALL2:%.*]] = call ptr @scc_C(ptr noalias nofree noundef readnone dereferenceable_or_null(4) "no-capture-maybe-returned" [[A]]) #[[ATTR2]]
249
+ ; CHECK-NEXT: [[CALL2:%.*]] = call ptr @scc_C(ptr noalias nofree noundef readnone dereferenceable_or_null(4) [[A]]) #[[ATTR2]]
250
250
; CHECK-NEXT: br label [[COND_END]]
251
251
; CHECK: cond.end:
252
252
; CHECK-NEXT: [[COND:%.*]] = phi ptr [ [[A]], [[COND_TRUE]] ], [ [[A]], [[COND_FALSE]] ]
253
- ; CHECK-NEXT: [[CALL3:%.*]] = call ptr @scc_A(ptr noalias nofree noundef readnone dereferenceable_or_null(4) "no-capture-maybe-returned" [[A]]) #[[ATTR2]]
253
+ ; CHECK-NEXT: [[CALL3:%.*]] = call ptr @scc_A(ptr noalias nofree noundef readnone dereferenceable_or_null(4) [[A]]) #[[ATTR2]]
254
254
; CHECK-NEXT: ret ptr [[A]]
255
255
;
256
256
entry:
0 commit comments