Lines Matching full:load
26 // should not load in C++98
28 // CHECK11-NEXT: load volatile [[INT]], ptr @i
31 // CHECK-NEXT: load volatile [[INT]], ptr @ci
32 // CHECK-NEXT: load volatile [[INT]], ptr getelementptr inbounds nuw ([[CINT]], ptr @ci, i32 0, i32 1)
39 // CHECK11-NEXT: load volatile [[INT]], ptr @ci
40 // CHECK11-NEXT: load volatile [[INT]], ptr getelementptr inbounds nuw ([[CINT]], ptr @ci, i32 0, i32 1)
45 // CHECK-NEXT: [[R:%.*]] = load volatile [[INT]], ptr @ci
46 // CHECK-NEXT: [[I:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw ([[CINT]], ptr @ci, i32 0, i32 1)
51 // CHECK-NEXT: [[T:%.*]] = load volatile [[INT]], ptr @j
55 // CHECK-NEXT: [[R1:%.*]] = load volatile [[INT]], ptr @ci
56 // CHECK-NEXT: [[I1:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw ([[CINT]], ptr @ci, i32 0, i32 1)
57 // CHECK-NEXT: [[R2:%.*]] = load volatile [[INT]], ptr @ci
58 // CHECK-NEXT: [[I2:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw ([[CINT]], ptr @ci, i32 0, i32 1)
65 // Note that C++ requires an extra load volatile over C from the LHS of the '+'.
67 // CHECK-NEXT: [[R1:%.*]] = load volatile [[INT]], ptr @ci
68 // CHECK-NEXT: [[I1:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw ([[CINT]], ptr @ci, i32 0, i32 1)
69 // CHECK-NEXT: [[R2:%.*]] = load volatile [[INT]], ptr @ci
70 // CHECK-NEXT: [[I2:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw ([[CINT]], ptr @ci, i32 0, i32 1)
75 // CHECK-NEXT: [[R1:%.*]] = load volatile [[INT]], ptr @ci
76 // CHECK-NEXT: [[I1:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw ([[CINT]], ptr @ci, i32 0, i32 1)
77 // CHECK-NEXT: [[R2:%.*]] = load volatile [[INT]], ptr @ci
78 // CHECK-NEXT: [[I2:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw ([[CINT]], ptr @ci, i32 0, i32 1)
85 // Extra load volatile in C++.
87 // CHECK-NEXT: load volatile
88 // CHECK-NEXT: load volatile
91 // CHECK-NEXT: load volatile
92 // CHECK-NEXT: load volatile
97 // Extra load volatile in C++.
99 // CHECK-NEXT: load volatile
100 // CHECK-NEXT: load volatile
103 // CHECK-NEXT: load volatile
109 // CHECK-NEXT: load volatile
110 // CHECK-NEXT: load volatile
111 // CHECK-NEXT: load volatile
112 // CHECK-NEXT: load volatile
119 // CHECK-NEXT: load volatile
120 // CHECK-NEXT: load volatile
125 // CHECK-NEXT: load volatile
129 // CHECK-NEXT: load volatile
131 // CHECK-NEXT: load volatile
134 (void)i; // This is now a load in C++11
135 // CHECK11-NEXT: load volatile
138 // CHECK-NEXT: load volatile
141 // Extra load volatile in C++.
143 // CHECK-NEXT: load volatile
145 // CHECK-NEXT: load volatile
149 // CHECK-NEXT: load volatile
153 // CHECK-NEXT: load volatile
156 // CHECK: load volatile
159 // CHECK: load volatile
164 (void)(i,(i=i)); // first i is also a load in C++11
165 // CHECK11-NEXT: load volatile
166 // CHECK-NEXT: load volatile
169 i=i,k; // k is also a load in C++11
170 // CHECK-NEXT: load volatile [[INT]], ptr @i
172 // CHECK11-NEXT: load volatile [[INT]], ptr @k
175 // CHECK-NEXT: load volatile [[INT]], ptr @j
177 // CHECK-NEXT: load volatile [[INT]], ptr @j
180 (i=j,k); // k is also a load in C++11
181 // CHECK-NEXT: load volatile [[INT]], ptr @j
183 // CHECK11-NEXT: load volatile [[INT]], ptr @k
186 // CHECK11-NEXT: load volatile [[INT]], ptr @i
187 // CHECK11-NEXT: load volatile [[INT]], ptr @j
189 // Extra load in C++.
191 // CHECK-NEXT: load volatile
194 // CHECK-NEXT: load volatile
199 // CHECK-NEXT: load volatile
200 // CHECK-NEXT: load volatile
204 ci; // ci is a load in C++11
205 // CHECK11-NEXT: load volatile {{.*}} @ci
206 // CHECK11-NEXT: load volatile {{.*}} @ci, i32 0, i32 1
211 // CHECK-NEXT: load volatile {{.*}} @ci
212 // CHECK-NEXT: load volatile {{.*}} @ci, i32 0, i32 1
215 // CHECK-NEXT: load volatile {{.*}} @ci
216 // CHECK-NEXT: load volatile {{.*}} @ci, i32 0, i32 1
222 // CHECK-NEXT: load volatile
223 // CHECK-NEXT: load volatile
229 // Extra load in C++.
231 // CHECK-NEXT: load volatile
232 // CHECK-NEXT: load volatile
235 // CHECK-NEXT: load volatile
236 // CHECK-NEXT: load volatile
241 // CHECK-NEXT: [[T:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw ([[CINT]], ptr @ci, i32 0, i32 1)
243 // CHECK-NEXT: [[T:%.*]] = load volatile [[INT]], ptr getelementptr inbounds nuw ([[CINT]], ptr @ci, i32 0, i32 1)
247 // CHECK-NEXT: load volatile
255 // A use. We load all of a into a copy of a, then load i. gcc forgets to do
274 // CHECK-NEXT: load volatile
277 // C++ does an extra load here. Note that we have to do full loads.
279 // CHECK-NEXT: load volatile
280 // CHECK-NEXT: load volatile
283 // CHECK-NEXT: load volatile
284 // CHECK-NEXT: load volatile
290 // CHECK-NEXT: load volatile
291 // CHECK-NEXT: load volatile
294 // CHECK-NEXT: load volatile
295 // CHECK-NEXT: load volatile
299 // CHECK-NEXT: load volatile
301 // CHECK-NEXT: load volatile
307 // CHECK-NEXT: load volatile
309 // CHECK-NEXT: load volatile
313 // CHECK-NEXT: load volatile
315 // CHECK-NEXT: load volatile
321 // CHECK-NEXT: load volatile
323 // CHECK-NEXT: load volatile
328 // CHECK-NEXT: load volatile
329 // CHECK-NEXT: load volatile
335 // CHECK-NEXT: load volatile
340 // CHECK-NEXT: load volatile
342 // CHECK-NEXT: load volatile
343 // CHECK-NEXT: load volatile
349 // CHECK-NEXT: load volatile
351 // CHECK-NEXT: load volatile
354 (i,j)=k; // i is also a load in C++11
355 // CHECK-NEXT: load volatile [[INT]], ptr @k
356 // CHECK11-NEXT: load volatile [[INT]], ptr @i
360 // CHECK-NEXT: load volatile [[INT]], ptr @i
361 // CHECK-NEXT: load volatile [[INT]], ptr @k