@@ -40,7 +40,7 @@ extern B array[5];
40
40
// CHECK-NEXT: [[__BEGIN1:%.*]] = alloca ptr, align 8
41
41
// CHECK-NEXT: [[__END1:%.*]] = alloca ptr, align 8
42
42
// 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]])
44
44
// CHECK-NEXT: store ptr @array, ptr [[__RANGE1]], align 8
45
45
// CHECK-NEXT: store ptr @array, ptr [[__BEGIN1]], align 8
46
46
// CHECK-NEXT: store ptr getelementptr inbounds ([[STRUCT_B]], ptr @array, i64 5), ptr [[__END1]], align 8
@@ -52,7 +52,7 @@ extern B array[5];
52
52
// CHECK-NEXT: br i1 [[CMP]], label [[FOR_BODY:%.*]], label [[FOR_END:%.*]]
53
53
// CHECK: for.body:
54
54
// 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]])
56
56
// CHECK-NEXT: call void @_ZN1BD1Ev(ptr noundef nonnull align 1 dereferenceable(1) [[B]]) #[[ATTR3:[0-9]+]]
57
57
// CHECK-NEXT: br label [[FOR_INC:%.*]]
58
58
// CHECK: for.inc:
@@ -78,8 +78,8 @@ void for_array() {
78
78
// CHECK-NEXT: [[__BEGIN1:%.*]] = alloca ptr, align 8
79
79
// CHECK-NEXT: [[__END1:%.*]] = alloca ptr, align 8
80
80
// 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]])
83
83
// CHECK-NEXT: store ptr [[REF_TMP]], ptr [[__RANGE1]], align 8
84
84
// CHECK-NEXT: [[TMP0:%.*]] = load ptr, ptr [[__RANGE1]], align 8
85
85
// CHECK-NEXT: [[CALL:%.*]] = call noundef ptr @_Z5beginR1C(ptr noundef nonnull align 1 dereferenceable(1) [[TMP0]])
@@ -98,7 +98,7 @@ void for_array() {
98
98
// CHECK-NEXT: br label [[FOR_END:%.*]]
99
99
// CHECK: for.body:
100
100
// 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]])
102
102
// CHECK-NEXT: call void @_ZN1BD1Ev(ptr noundef nonnull align 1 dereferenceable(1) [[B]]) #[[ATTR3]]
103
103
// CHECK-NEXT: br label [[FOR_INC:%.*]]
104
104
// CHECK: for.inc:
@@ -124,8 +124,8 @@ void for_range() {
124
124
// CHECK-NEXT: [[__BEGIN1:%.*]] = alloca ptr, align 8
125
125
// CHECK-NEXT: [[__END1:%.*]] = alloca ptr, align 8
126
126
// 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]])
129
129
// CHECK-NEXT: store ptr [[REF_TMP]], ptr [[__RANGE1]], align 8
130
130
// CHECK-NEXT: [[TMP0:%.*]] = load ptr, ptr [[__RANGE1]], align 8
131
131
// CHECK-NEXT: [[CALL:%.*]] = call noundef ptr @_ZN1D5beginEv(ptr noundef nonnull align 1 dereferenceable(1) [[TMP0]])
@@ -144,7 +144,7 @@ void for_range() {
144
144
// CHECK-NEXT: br label [[FOR_END:%.*]]
145
145
// CHECK: for.body:
146
146
// 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]])
148
148
// CHECK-NEXT: call void @_ZN1BD1Ev(ptr noundef nonnull align 1 dereferenceable(1) [[B]]) #[[ATTR3]]
149
149
// CHECK-NEXT: br label [[FOR_INC:%.*]]
150
150
// CHECK: for.inc:
0 commit comments