Lines Matching full:group

13     store i8 42, ptr %ptr, !invariant.group !0
16 %a = load i8, ptr %ptr, !invariant.group !0
17 %b = load i8, ptr %ptr, !invariant.group !0
18 %c = load i8, ptr %ptr, !invariant.group !0
27 store i8 42, ptr %ptr, !invariant.group !0
28 %ptr2 = call ptr @llvm.launder.invariant.group.p0(ptr %ptr)
29 %a = load i8, ptr %ptr, !invariant.group !0
40 store i8 42, ptr %ptr, !invariant.group !0
43 store i8 13, ptr %ptr ; can't use this store with invariant.group
48 %b = load i8, ptr %ptr, !invariant.group !0
58 ; CHECK: %b1 = call ptr @llvm.strip.invariant.group.p0(ptr %a)
59 %b1 = call ptr @llvm.strip.invariant.group.p0(ptr %a)
60 ; CHECK-NOT: llvm.strip.invariant.group
61 %b2 = call ptr @llvm.strip.invariant.group.p0(ptr %a)
72 %a = load i8, ptr %ptr, !invariant.group !0
85 ; CHECK: %vtable = load {{.*}} !invariant.group
86 %vtable = load ptr, ptr %call, align 8, !invariant.group !0
94 %vtable1 = load ptr, ptr %0, align 8, !invariant.group !0
100 %vtable2 = load ptr, ptr %2, align 8, !invariant.group !0
106 %vtable4 = load ptr, ptr %4, align 8, !invariant.group !0
111 %vtable5 = load ptr, ptr %call, align 8, !invariant.group !0
127 ; CHECK: %vtable = load {{.*}} !invariant.group
128 %vtable = load ptr, ptr %call, align 8, !invariant.group !0
132 ; CHECK-NOT: !invariant.group
135 %vtable1 = load ptr, ptr %0, align 8, !invariant.group !0
148 ; CHECK: %[[A:.*]] = load i8, ptr %ptr, align 1, !invariant.group
149 %a = load i8, ptr %ptr, !invariant.group !0
151 %b = load i8, ptr %ptr, !invariant.group !0
165 ; CHECK: %[[D:.*]] = load i8, ptr %ptr, align 1, !invariant.group
168 %d = load i8, ptr %ptr, !invariant.group !0
182 ; CHECK: %[[E:.*]] = load i8, ptr %ptr, align 1, !invariant.group
183 %e = load i8, ptr %ptr, !invariant.group !0
199 ; CHECK: %[[E:.*]] = load i8, ptr %ptr, align 1, !invariant.group
200 %e = load i8, ptr %ptr, !invariant.group !0
202 %f = load i8, ptr %ptr, !invariant.group !0
218 %b = load i8, ptr %ptr, !invariant.group !0
228 store i8 42, ptr %ptr, !invariant.group !0
230 %a = load i8, ptr %ptr2, !invariant.group !0
240 store i8 42, ptr %ptr, !invariant.group !0
241 %ptr2 = call ptr @llvm.launder.invariant.group.p0(ptr %ptr)
243 %a = load i8, ptr %ptr2, !invariant.group !0
253 store i8 42, ptr %ptr, !invariant.group !0
255 %a = load i8, ptr %ptr, !invariant.group !0
260 %c = load volatile i8, ptr %ptr, !invariant.group !0
272 store i8 42, ptr %ptr, !invariant.group !0
274 %a = load i8, ptr %ptr, !invariant.group !0
279 %c = load volatile i8, ptr %ptr, !invariant.group !0
291 store i8 42, ptr %ptr, !invariant.group !0
294 %a = load i8, ptr %ptr, !invariant.group !0 ; Can assume that value under %ptr didn't change
299 …%c = load i8, ptr %newPtr, !invariant.group !0 ; Can't assume anything, because we only have infor…
305 ; CHECK: store i8 %unknownValue, ptr %ptr, align 1, !invariant.group !0
306 store i8 %unknownValue, ptr %ptr, !invariant.group !0
308 %newPtr2 = call ptr @llvm.launder.invariant.group.p0(ptr %ptr)
310 %d = load i8, ptr %newPtr2, !invariant.group !0
315 ; This test checks if invariant.group understands gep with zeros
319 …getelementptr inbounds ([3 x ptr], ptr @_ZTV1A, i64 0, i64 2), ptr %a, align 8, !invariant.group !0
326 ; This should be devirtualized by invariant.group
327 %4 = load ptr, ptr %a, align 8, !invariant.group !0
342 ; CHECK: %a = load i8, ptr @unknownPtr, align 1, !invariant.group !0
343 %a = load i8, ptr @unknownPtr, !invariant.group !0
345 ; CHECK: %1 = load i8, ptr @unknownPtr, align 1, !invariant.group !0
346 %1 = load i8, ptr @unknownPtr, !invariant.group !0
351 ; CHECK: %2 = load i1, ptr {{.*}}, !invariant.group !0
352 %2 = load i1, ptr @unknownPtr, !invariant.group !0
354 ; CHECK: %3 = load i1, ptr {{.*}}, !invariant.group !0
355 %3 = load i1, ptr @unknownPtr, !invariant.group !0
364 ; CHECK: %b = load i8, ptr %a, align 1, !invariant.group !0
365 %b = load i8, ptr %a, !invariant.group !0
368 %1 = load i8, ptr %a, !invariant.group !0
374 %2 = load i1, ptr %a, !invariant.group !0
377 %3 = load i1, ptr %a, !invariant.group !0
386 …getelementptr inbounds ([3 x ptr], ptr @_ZTV1A, i64 0, i64 2), ptr %a, align 8, !invariant.group !0
401 %.pre = load ptr, ptr %a, align 8, !invariant.group !0
427 declare ptr @llvm.launder.invariant.group.p0(ptr)
428 declare ptr @llvm.strip.invariant.group.p0(ptr)