Skip to content

Commit e9b50ea

Browse files
test
1 parent 4f31e52 commit e9b50ea

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

clang/test/CIR/CodeGen/tbaa.c

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -fclangir -emit-cir %s -o %t.cir -O1
2+
// RUN: FileCheck --check-prefix=CIR --input-file=%t.cir %s
3+
4+
// CIR: #tbaa[[TBAA_NO:.*]] = #cir.tbaa
5+
void f(int *a, float *b) {
6+
if (*a == 1) {
7+
*b = 2.0f;
8+
} else {
9+
*b = 3.0f;
10+
}
11+
}
12+
13+
// CIR: cir.scope
14+
// CIR: %[[TMP1:.*]] = cir.load deref {{.*}} : !cir.ptr<!cir.ptr<!s32i>>, !cir.ptr<!s32i> tbaa([#tbaa[[TBAA_NO]]])
15+
// CIR: %[[TMP2:.*]] = cir.load {{.*}} %[[TMP1]] : !cir.ptr<!s32i>, !s32i tbaa([#tbaa[[TBAA_NO]]])
16+
// CIR: cir.if
17+
// CIR: %[[C2:.*]] = cir.const #cir.fp<2
18+
// CIR: %[[TMP3:.*]] = cir.load deref {{.*}} %[[ARG_b:.*]] : !cir.ptr<!cir.ptr<!cir.float>>, !cir.ptr<!cir.float> tbaa([#tbaa[[TBAA_NO]]])
19+
// CIR: cir.store {{.*}} %[[C2]], %[[TMP3]] : !cir.float, !cir.ptr<!cir.float> tbaa([#tbaa[[TBAA_NO]]])
20+
// CIR: else
21+
// CIR: %[[C3:.*]] = cir.const #cir.fp<3
22+
// CIR: %[[TMP4:.*]] = cir.load deref {{.*}} %[[ARG_b]] : !cir.ptr<!cir.ptr<!cir.float>>, !cir.ptr<!cir.float> tbaa([#tbaa[[TBAA_NO]]])
23+
// CIR: cir.store {{.*}} %[[C3]], %[[TMP4]] : !cir.float, !cir.ptr<!cir.float> tbaa([#tbaa[[TBAA_NO]]])

0 commit comments

Comments
 (0)