@@ -40,7 +40,7 @@ extern B array[5];
4040// CHECK-NEXT: [[__BEGIN1:%.*]] = alloca ptr, align 8
4141// CHECK-NEXT: [[__END1:%.*]] = alloca ptr, align 8
4242// CHECK-NEXT: [[B:%.*]] = alloca [[STRUCT_B:%.*]], align 1
43- // CHECK-NEXT: call void @_ZN1AC1Ev(ptr noundef nonnull align 1 dereferenceable(1) [[A]])
43+ // CHECK-NEXT: call void @_ZN1AC1Ev(ptr noalias noundef nonnull align 1 dereferenceable(1) [[A]])
4444// CHECK-NEXT: store ptr @array, ptr [[__RANGE1]], align 8
4545// CHECK-NEXT: store ptr @array, ptr [[__BEGIN1]], align 8
4646// CHECK-NEXT: store ptr getelementptr inbounds ([[STRUCT_B]], ptr @array, i64 5), ptr [[__END1]], align 8
@@ -52,7 +52,7 @@ extern B array[5];
5252// CHECK-NEXT: br i1 [[CMP]], label [[FOR_BODY:%.*]], label [[FOR_END:%.*]]
5353// CHECK: for.body:
5454// CHECK-NEXT: [[TMP2:%.*]] = load ptr, ptr [[__BEGIN1]], align 8
55- // CHECK-NEXT: call void @_ZN1BC1ERKS_(ptr noundef nonnull align 1 dereferenceable(1) [[B]], ptr noundef nonnull align 1 dereferenceable(1) [[TMP2]])
55+ // CHECK-NEXT: call void @_ZN1BC1ERKS_(ptr noalias noundef nonnull align 1 dereferenceable(1) [[B]], ptr noundef nonnull align 1 dereferenceable(1) [[TMP2]])
5656// CHECK-NEXT: call void @_ZN1BD1Ev(ptr noundef nonnull align 1 dereferenceable(1) [[B]]) #[[ATTR3:[0-9]+]]
5757// CHECK-NEXT: br label [[FOR_INC:%.*]]
5858// CHECK: for.inc:
@@ -78,8 +78,8 @@ void for_array() {
7878// CHECK-NEXT: [[__BEGIN1:%.*]] = alloca ptr, align 8
7979// CHECK-NEXT: [[__END1:%.*]] = alloca ptr, align 8
8080// CHECK-NEXT: [[B:%.*]] = alloca [[STRUCT_B:%.*]], align 1
81- // CHECK-NEXT: call void @_ZN1AC1Ev(ptr noundef nonnull align 1 dereferenceable(1) [[A]])
82- // CHECK-NEXT: call void @_ZN1CC1Ev(ptr noundef nonnull align 1 dereferenceable(1) [[REF_TMP]])
81+ // CHECK-NEXT: call void @_ZN1AC1Ev(ptr noalias noundef nonnull align 1 dereferenceable(1) [[A]])
82+ // CHECK-NEXT: call void @_ZN1CC1Ev(ptr noalias noundef nonnull align 1 dereferenceable(1) [[REF_TMP]])
8383// CHECK-NEXT: store ptr [[REF_TMP]], ptr [[__RANGE1]], align 8
8484// CHECK-NEXT: [[TMP0:%.*]] = load ptr, ptr [[__RANGE1]], align 8
8585// CHECK-NEXT: [[CALL:%.*]] = call noundef ptr @_Z5beginR1C(ptr noundef nonnull align 1 dereferenceable(1) [[TMP0]])
@@ -98,7 +98,7 @@ void for_array() {
9898// CHECK-NEXT: br label [[FOR_END:%.*]]
9999// CHECK: for.body:
100100// CHECK-NEXT: [[TMP4:%.*]] = load ptr, ptr [[__BEGIN1]], align 8
101- // CHECK-NEXT: call void @_ZN1BC1ERKS_(ptr noundef nonnull align 1 dereferenceable(1) [[B]], ptr noundef nonnull align 1 dereferenceable(1) [[TMP4]])
101+ // CHECK-NEXT: call void @_ZN1BC1ERKS_(ptr noalias noundef nonnull align 1 dereferenceable(1) [[B]], ptr noundef nonnull align 1 dereferenceable(1) [[TMP4]])
102102// CHECK-NEXT: call void @_ZN1BD1Ev(ptr noundef nonnull align 1 dereferenceable(1) [[B]]) #[[ATTR3]]
103103// CHECK-NEXT: br label [[FOR_INC:%.*]]
104104// CHECK: for.inc:
@@ -124,8 +124,8 @@ void for_range() {
124124// CHECK-NEXT: [[__BEGIN1:%.*]] = alloca ptr, align 8
125125// CHECK-NEXT: [[__END1:%.*]] = alloca ptr, align 8
126126// CHECK-NEXT: [[B:%.*]] = alloca [[STRUCT_B:%.*]], align 1
127- // CHECK-NEXT: call void @_ZN1AC1Ev(ptr noundef nonnull align 1 dereferenceable(1) [[A]])
128- // CHECK-NEXT: call void @_ZN1DC1Ev(ptr noundef nonnull align 1 dereferenceable(1) [[REF_TMP]])
127+ // CHECK-NEXT: call void @_ZN1AC1Ev(ptr noalias noundef nonnull align 1 dereferenceable(1) [[A]])
128+ // CHECK-NEXT: call void @_ZN1DC1Ev(ptr noalias noundef nonnull align 1 dereferenceable(1) [[REF_TMP]])
129129// CHECK-NEXT: store ptr [[REF_TMP]], ptr [[__RANGE1]], align 8
130130// CHECK-NEXT: [[TMP0:%.*]] = load ptr, ptr [[__RANGE1]], align 8
131131// CHECK-NEXT: [[CALL:%.*]] = call noundef ptr @_ZN1D5beginEv(ptr noundef nonnull align 1 dereferenceable(1) [[TMP0]])
@@ -144,7 +144,7 @@ void for_range() {
144144// CHECK-NEXT: br label [[FOR_END:%.*]]
145145// CHECK: for.body:
146146// CHECK-NEXT: [[TMP4:%.*]] = load ptr, ptr [[__BEGIN1]], align 8
147- // CHECK-NEXT: call void @_ZN1BC1ERKS_(ptr noundef nonnull align 1 dereferenceable(1) [[B]], ptr noundef nonnull align 1 dereferenceable(1) [[TMP4]])
147+ // CHECK-NEXT: call void @_ZN1BC1ERKS_(ptr noalias noundef nonnull align 1 dereferenceable(1) [[B]], ptr noundef nonnull align 1 dereferenceable(1) [[TMP4]])
148148// CHECK-NEXT: call void @_ZN1BD1Ev(ptr noundef nonnull align 1 dereferenceable(1) [[B]]) #[[ATTR3]]
149149// CHECK-NEXT: br label [[FOR_INC:%.*]]
150150// CHECK: for.inc:
0 commit comments