Skip to content

Commit bfd7b01

Browse files
committed
!fixup add tests with nocfi, dso_local_equivalent constsnts.
1 parent 8a97ffe commit bfd7b01

File tree

2 files changed

+64
-27
lines changed

2 files changed

+64
-27
lines changed
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --check-globals all --version 5
2+
; RUN: opt -p globalopt -S %s | FileCheck %s
3+
4+
@llvm.global_ctors = appending global [3 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @ctor, ptr null }, { i32, ptr, ptr } { i32 65535, ptr @ctor_nocfi, ptr null }, { i32, ptr, ptr } { i32 65535, ptr @ctor_dso_local_equivalent, ptr null }]
5+
6+
@foo = internal global ptr null
7+
8+
declare void @user(ptr)
9+
10+
;.
11+
; CHECK: @llvm.global_ctors = appending global [3 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @ctor, ptr null }, { i32, ptr, ptr } { i32 65535, ptr @ctor_nocfi, ptr null }, { i32, ptr, ptr } { i32 65535, ptr @ctor_dso_local_equivalent, ptr null }]
12+
; CHECK: @foo = internal global ptr null
13+
;.
14+
define void @ctor() {
15+
; CHECK-LABEL: define void @ctor() {
16+
; CHECK-NEXT: [[ENTRY:.*:]]
17+
; CHECK-NEXT: [[DST:%.*]] = alloca ptr, align 8
18+
; CHECK-NEXT: store ptr ptrauth (ptr @foo, i32 0), ptr [[DST]], align 8
19+
; CHECK-NEXT: call void @user(ptr [[DST]])
20+
; CHECK-NEXT: ret void
21+
;
22+
entry:
23+
%dst = alloca ptr, align 8
24+
store ptr ptrauth (ptr @foo, i32 0), ptr %dst, align 8
25+
call void @user(ptr %dst)
26+
ret void
27+
}
28+
29+
define void @ctor_nocfi() {
30+
; CHECK-LABEL: define void @ctor_nocfi() {
31+
; CHECK-NEXT: [[ENTRY:.*:]]
32+
; CHECK-NEXT: [[DST:%.*]] = alloca ptr, align 8
33+
; CHECK-NEXT: store ptr no_cfi @foo, ptr [[DST]], align 8
34+
; CHECK-NEXT: call void @user(ptr [[DST]])
35+
; CHECK-NEXT: ret void
36+
;
37+
entry:
38+
%dst = alloca ptr, align 8
39+
store ptr no_cfi @foo, ptr %dst, align 8
40+
call void @user(ptr %dst)
41+
ret void
42+
}
43+
44+
define void @fn() {
45+
; CHECK-LABEL: define void @fn() {
46+
; CHECK-NEXT: ret void
47+
;
48+
ret void
49+
}
50+
51+
define void @ctor_dso_local_equivalent() {
52+
; CHECK-LABEL: define void @ctor_dso_local_equivalent() {
53+
; CHECK-NEXT: [[ENTRY:.*:]]
54+
; CHECK-NEXT: [[DST:%.*]] = alloca ptr, align 8
55+
; CHECK-NEXT: store ptr dso_local_equivalent @fn, ptr [[DST]], align 8
56+
; CHECK-NEXT: call void @user(ptr [[DST]])
57+
; CHECK-NEXT: ret void
58+
;
59+
entry:
60+
%dst = alloca ptr, align 8
61+
store ptr dso_local_equivalent @fn, ptr %dst, align 8
62+
call void @user(ptr %dst)
63+
ret void
64+
}

llvm/test/Transforms/GlobalOpt/global-constructor-ptrauth-constant.ll

Lines changed: 0 additions & 27 deletions
This file was deleted.

0 commit comments

Comments
 (0)