Skip to content

Commit 6b28cb2

Browse files
committed
Improve test
1 parent 0ec28bc commit 6b28cb2

File tree

1 file changed

+83
-5
lines changed

1 file changed

+83
-5
lines changed
Lines changed: 83 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,89 @@
1-
; RUN: llc -O0 -march=amdgcn < %s | FileCheck %s
1+
; RUN: llc -O0 -march=amdgcn -mcpu=gfx90a < %s | FileCheck %s
2+
; REQUIRES: asserts
23

3-
; CHECK-NOT: foo
4-
define internal i32 @foo() {
4+
@alias = internal alias i32, i32* @aliased_internal_func
5+
@alias_taken = internal alias i32, i32* @aliased_taken_func
6+
7+
; CHECK-NOT: internal_func
8+
define internal i32 @internal_func() {
59
ret i32 0
610
}
711

8-
; CHECK-NOT: bar
9-
define private i32 @bar() {
12+
; CHECK-NOT: private_func
13+
define private i32 @private_func() {
14+
ret i32 0
15+
}
16+
17+
; CHECK-NOT: aliased_internal_func
18+
define internal i32 @aliased_internal_func() {
19+
ret i32 0
20+
}
21+
22+
; CHECK-LABEL: take_alias_addr
23+
; CHECK: Function info:
24+
; CHECK-NEXT: codeLenInByte = 60
25+
; CHECK-NEXT: NumSgprs: 37
26+
; CHECK-NEXT: NumVgprs: 1
27+
; CHECK-NEXT: NumAgprs: 0
28+
; CHECK-NEXT: TotalNumVgprs: 1
29+
; CHECK-NEXT: ScratchSize: 16
30+
; CHECK-NEXT: MemoryBound: 0
31+
define void @take_alias_addr() {
32+
%addr_loc = alloca ptr, addrspace(5)
33+
store ptr @alias_taken, ptr addrspace(5) %addr_loc
34+
ret void
35+
}
36+
37+
; CHECK: aliased_taken_func
38+
; CHECK: Function info:
39+
; CHECK-NEXT: codeLenInByte = 12
40+
; CHECK-NEXT: NumSgprs: 36
41+
; CHECK-NEXT: NumVgprs: 1
42+
; CHECK-NEXT: NumAgprs: 0
43+
; CHECK-NEXT: TotalNumVgprs: 1
44+
; CHECK-NEXT: ScratchSize: 0
45+
; CHECK-NEXT: MemoryBound: 0
46+
define internal i32 @aliased_taken_func() {
1047
ret i32 0
1148
}
49+
50+
; CHECK-LABEL: addr_taken
51+
; CHECK: Function info:
52+
; CHECK-NEXT: codeLenInByte = 12
53+
; CHECK-NEXT: NumSgprs: 36
54+
; CHECK-NEXT: NumVgprs: 1
55+
; CHECK-NEXT: NumAgprs: 0
56+
; CHECK-NEXT: TotalNumVgprs: 1
57+
; CHECK-NEXT: ScratchSize: 0
58+
; CHECK-NEXT: MemoryBound: 0
59+
define internal i32 @addr_taken() {
60+
ret i32 0
61+
}
62+
63+
; CHECK-LABEL: non_local
64+
; CHECK: Function info:
65+
; CHECK-NEXT: codeLenInByte = 12
66+
; CHECK-NEXT: NumSgprs: 36
67+
; CHECK-NEXT: NumVgprs: 1
68+
; CHECK-NEXT: NumAgprs: 0
69+
; CHECK-NEXT: TotalNumVgprs: 1
70+
; CHECK-NEXT: ScratchSize: 0
71+
; CHECK-NEXT: MemoryBound: 0
72+
define i32 @non_local() {
73+
ret i32 0
74+
}
75+
76+
; CHECK-LABEL: take_addr
77+
; CHECK: Function info:
78+
; CHECK-NEXT: codeLenInByte = 60
79+
; CHECK-NEXT: NumSgprs: 37
80+
; CHECK-NEXT: NumVgprs: 1
81+
; CHECK-NEXT: NumAgprs: 0
82+
; CHECK-NEXT: TotalNumVgprs: 1
83+
; CHECK-NEXT: ScratchSize: 16
84+
; CHECK-NEXT: MemoryBound: 0
85+
define void @take_addr() {
86+
%addr_loc = alloca ptr, addrspace(5)
87+
store ptr @addr_taken, ptr addrspace(5) %addr_loc
88+
ret void
89+
}

0 commit comments

Comments
 (0)