Skip to content

Commit 3a08530

Browse files
committed
Add more codegen tests.
1 parent 7c4aab3 commit 3a08530

File tree

1 file changed

+20
-8
lines changed

1 file changed

+20
-8
lines changed

clang/test/CodeGen/ptrauth-intrinsic-sign-constant.c

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,31 @@
33

44
extern int external;
55

6-
// CHECK: @ptr1 = global ptr ptrauth (ptr @external, i32 0, i64 26)
7-
void *ptr1 = __builtin_ptrauth_sign_constant(&external, 0, 26);
6+
// CHECK: @ptr1 = global ptr ptrauth (ptr @external, i32 0)
7+
void *ptr1 = __builtin_ptrauth_sign_constant(&external, 0, 0);
88

9-
// CHECK: @ptr2 = global ptr ptrauth (ptr @external, i32 2, i64 26, ptr @ptr2)
10-
void *ptr2 = __builtin_ptrauth_sign_constant(&external, 2, __builtin_ptrauth_blend_discriminator(&ptr2, 26));
9+
// CHECK: @ptr2 = global ptr ptrauth (ptr @external, i32 0, i64 1234)
10+
void *ptr2 = __builtin_ptrauth_sign_constant(&external, 0, 1234);
1111

12-
// CHECK: @ptr3 = global ptr null
13-
void *ptr3;
12+
// CHECK: @ptr3 = global ptr ptrauth (ptr @external, i32 2, i64 0, ptr @ptr3)
13+
void *ptr3 = __builtin_ptrauth_sign_constant(&external, 2, &ptr3);
14+
15+
// CHECK: @ptr4 = global ptr ptrauth (ptr @external, i32 2, i64 26, ptr @ptr4)
16+
void *ptr4 = __builtin_ptrauth_sign_constant(&external, 2, __builtin_ptrauth_blend_discriminator(&ptr4, 26));
17+
18+
// CHECK: @ptr5 = global ptr null
19+
void *ptr5;
1420

1521
void test_sign_constant_code() {
1622
// CHECK-LABEL: define {{.*}}void @test_sign_constant_code()
1723
// CHECK-NEXT: entry:
18-
// CHECK-NEXT: store ptr ptrauth (ptr @external, i32 2, i64 1234), ptr @ptr3, align 8
24+
// CHECK-NEXT: store ptr ptrauth (ptr @external, i32 0), ptr @ptr1, align 8
25+
// CHECK-NEXT: store ptr ptrauth (ptr @external, i32 2, i64 1234), ptr @ptr2, align 8
26+
// CHECK-NEXT: store ptr ptrauth (ptr @external, i32 2, i64 0, ptr @ptr3), ptr @ptr3, align 8
27+
// CHECK-NEXT: store ptr ptrauth (ptr @external, i32 2, i64 1234, ptr @ptr4), ptr @ptr4, align 8
1928
// CHECK-NEXT: ret void
20-
ptr3 = __builtin_ptrauth_sign_constant(&external, 2, 1234);
29+
ptr1 = __builtin_ptrauth_sign_constant(&external, 0, 0);
30+
ptr2 = __builtin_ptrauth_sign_constant(&external, 2, 1234);
31+
ptr3 = __builtin_ptrauth_sign_constant(&external, 2, &ptr3);
32+
ptr4 = __builtin_ptrauth_sign_constant(&external, 2, __builtin_ptrauth_blend_discriminator(&ptr4, 1234));
2133
}

0 commit comments

Comments
 (0)