Lines Matching full:tbaa
1 // RUN: %clang_cc1 -triple x86_64-apple-darwin -O1 -no-struct-path-tbaa -disable-llvm-optzns %s -emit-llvm -o - | FileCheck %s
3 // Test TBAA metadata generated by front-end.
49 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32:!.*]]
50 // CHECK: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
52 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32:!.*]]
53 // PATH: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_A_f32:!.*]]
61 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
62 // CHECK: store i16 4, i16* %{{.*}}, align 2, !tbaa [[TAG_i16:!.*]]
64 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
65 // PATH: store i16 4, i16* %{{.*}}, align 2, !tbaa [[TAG_A_f16:!.*]]
73 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
74 // CHECK: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
76 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_A_f32]]
77 // PATH: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_B_a_f32:!.*]]
85 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
86 // CHECK: store i16 4, i16* %{{.*}}, align 2, !tbaa [[TAG_i16]]
88 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_A_f32]]
89 // PATH: store i16 4, i16* %{{.*}}, align 2, !tbaa [[TAG_B_a_f16:!.*]]
97 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
98 // CHECK: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
100 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_A_f32]]
101 // PATH: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_B_f32:!.*]]
109 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
110 // CHECK: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
112 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_A_f32]]
113 // PATH: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_B_a_f32_2:!.*]]
121 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
122 // CHECK: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
124 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_A_f32]]
125 // PATH: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_S_f32:!.*]]
133 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
134 // CHECK: store i16 4, i16* %{{.*}}, align 2, !tbaa [[TAG_i16]]
136 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_A_f32]]
137 // PATH: store i16 4, i16* %{{.*}}, align 2, !tbaa [[TAG_S_f16:!.*]]
145 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
146 // CHECK: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
148 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_S_f32]]
149 // PATH: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_S2_f32:!.*]]
157 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
158 // CHECK: store i16 4, i16* %{{.*}}, align 2, !tbaa [[TAG_i16]]
160 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_S_f32]]
161 // PATH: store i16 4, i16* %{{.*}}, align 2, !tbaa [[TAG_S2_f16:!.*]]
169 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
170 // CHECK: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
172 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_C_b_a_f32:!.*]]
173 // PATH: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_D_b_a_f32:!.*]]
181 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
182 // CHECK: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
185 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_B_a_f32]]
186 // PATH: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_B_a_f32]]
206 // CHECK: load i8* %{{.*}}, align 1, !tbaa [[TAG_char:!.*]]
208 // PATH: load i8* %{{.*}}, align 1, !tbaa [[TAG_five_b:!.*]]
219 // CHECK: load i8* %{{.*}}, align 1, !tbaa [[TAG_char]]
221 // PATH: load i8* %{{.*}}, align 1, !tbaa [[TAG_six_b:!.*]]
229 // CHECK: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
230 // CHECK: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_i32]]
232 // PATH: store i32 1, i32* %{{.*}}, align 4, !tbaa [[TAG_S_f32]]
233 // PATH: store i32 4, i32* %{{.*}}, align 4, !tbaa [[TAG_S_f32]]
240 // CHECK: [[TAG_cxx_tbaa]] = metadata !{metadata !"Simple C/C++ TBAA"}