726da6ce1e816f6edb1e31633a8e1c81d8709825
1 ; RUN: opt -tbaa -sink -S < %s | FileCheck %s
3 ; CHECK: a:
4 ; CHECK: %f = load float* %p, !tbaa [[TAGA:!.*]]
5 ; CHECK: store float %f, float* %q
7 define void @foo(float* %p, i1 %c, float* %q, float* %r) {
8 %f = load float* %p, !tbaa !0
9 store float 0.0, float* %r, !tbaa !1
10 br i1 %c, label %a, label %b
11 a:
12 store float %f, float* %q
13 br label %b
14 b:
15 ret void
16 }
18 ; CHECK: [[TAGA]] = metadata !{metadata [[TYPEA:!.*]], metadata [[TYPEA]], i64 0}
19 ; CHECK: [[TYPEA]] = metadata !{metadata !"A", metadata !{{.*}}}
20 !0 = metadata !{metadata !3, metadata !3, i64 0}
21 !1 = metadata !{metadata !4, metadata !4, i64 0}
22 !2 = metadata !{metadata !"test"}
23 !3 = metadata !{metadata !"A", metadata !2}
24 !4 = metadata !{metadata !"B", metadata !2}