Skip to content

Commit d6e8ab1

Browse files
authored
Revert "[NFC][AMDGPU] Pre-commit clang and llvm tests for dynamic allocas" (#120369)
Reverts #120063 due to build-bot failures
1 parent b6ad231 commit d6e8ab1

File tree

2 files changed

+8
-234
lines changed

2 files changed

+8
-234
lines changed

Diff for: llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-divergent.ll

+6-52
Original file line numberDiff line numberDiff line change
@@ -4,68 +4,22 @@
44
; ERR-NEXT: warning: Instruction selection used fallback path for kernel_dynamic_stackalloc_vgpr_align4
55
; ERR-NEXT: error: <unknown>:0:0: in function kernel_dynamic_stackalloc_vgpr_align4 void (ptr addrspace(1)): unsupported dynamic alloca
66

7+
; ERR: remark: <unknown>:0:0: cannot select: %{{[0-9]+}}:sreg_32(p5) = G_DYN_STACKALLOC %{{[0-9]+}}:vgpr(s32), 1 (in function: func_dynamic_stackalloc_vgpr_align4)
8+
; ERR-NEXT: warning: Instruction selection used fallback path for func_dynamic_stackalloc_vgpr_align4
9+
; ERR-NEXT: error: <unknown>:0:0: in function func_dynamic_stackalloc_vgpr_align4 void (i32): unsupported dynamic alloca
10+
711
define amdgpu_kernel void @kernel_dynamic_stackalloc_vgpr_align4(ptr addrspace(1) %ptr) {
812
%id = call i32 @llvm.amdgcn.workitem.id.x()
913
%gep = getelementptr i32, ptr addrspace(1) %ptr, i32 %id
1014
%n = load i32, ptr addrspace(1) %gep
1115
%alloca = alloca i32, i32 %n, align 4, addrspace(5)
12-
store volatile i32 123, ptr addrspace(5) %alloca
13-
ret void
14-
}
15-
16-
; ERR: remark: <unknown>:0:0: cannot select: %{{[0-9]+}}:sreg_32(p5) = G_DYN_STACKALLOC %{{[0-9]+}}:vgpr(s32), 1 (in function: kernel_dynamic_stackalloc_vgpr_default_align)
17-
; ERR-NEXT: warning: Instruction selection used fallback path for kernel_dynamic_stackalloc_vgpr_default_align
18-
; ERR-NEXT: error: <unknown>:0:0: in function kernel_dynamic_stackalloc_vgpr_default_align void (ptr addrspace(1)): unsupported dynamic alloca
19-
20-
define amdgpu_kernel void @kernel_dynamic_stackalloc_vgpr_default_align(ptr addrspace(1) %ptr) {
21-
%id = call i32 @llvm.amdgcn.workitem.id.x()
22-
%gep = getelementptr i32, ptr addrspace(1) %ptr, i32 %id
23-
%n = load i32, ptr addrspace(1) %gep
24-
%alloca = alloca i32, i32 %n, addrspace(5)
25-
store volatile i32 %n, ptr addrspace(5) %alloca
26-
ret void
27-
}
28-
29-
; ERR: remark: <unknown>:0:0: cannot select: %{{[0-9]+}}:sreg_32(p5) = G_DYN_STACKALLOC %{{[0-9]+}}:vgpr(s32), 64 (in function: kernel_dynamic_stackalloc_vgpr_align64)
30-
; ERR-NEXT: warning: Instruction selection used fallback path for kernel_dynamic_stackalloc_vgpr_align64
31-
; ERR-NEXT: error: <unknown>:0:0: in function kernel_dynamic_stackalloc_vgpr_align64 void (ptr addrspace(1)): unsupported dynamic alloca
32-
33-
define amdgpu_kernel void @kernel_dynamic_stackalloc_vgpr_align64(ptr addrspace(1) %ptr) {
34-
%id = call i32 @llvm.amdgcn.workitem.id.x()
35-
%gep = getelementptr i32, ptr addrspace(1) %ptr, i32 %id
36-
%n = load i32, ptr addrspace(1) %gep
37-
%alloca = alloca i32, i32 %n, align 64, addrspace(5)
38-
store volatile i32 789, ptr addrspace(5) %alloca
16+
store volatile ptr addrspace(5) %alloca, ptr addrspace(1) undef
3917
ret void
4018
}
4119

42-
; ERR: remark: <unknown>:0:0: cannot select: %{{[0-9]+}}:sreg_32(p5) = G_DYN_STACKALLOC %{{[0-9]+}}:vgpr(s32), 1 (in function: func_dynamic_stackalloc_vgpr_align4)
43-
; ERR-NEXT: warning: Instruction selection used fallback path for func_dynamic_stackalloc_vgpr_align4
44-
; ERR-NEXT: error: <unknown>:0:0: in function func_dynamic_stackalloc_vgpr_align4 void (i32): unsupported dynamic alloca
45-
4620
define void @func_dynamic_stackalloc_vgpr_align4(i32 %n) {
4721
%alloca = alloca i32, i32 %n, align 4, addrspace(5)
48-
store volatile i32 %n, ptr addrspace(5) %alloca
49-
ret void
50-
}
51-
52-
; ERR: remark: <unknown>:0:0: cannot select: %{{[0-9]+}}:sreg_32(p5) = G_DYN_STACKALLOC %{{[0-9]+}}:vgpr(s32), 1 (in function: func_dynamic_stackalloc_vgpr_default_align)
53-
; ERR-NEXT: warning: Instruction selection used fallback path for func_dynamic_stackalloc_vgpr_default_align
54-
; ERR-NEXT: error: <unknown>:0:0: in function func_dynamic_stackalloc_vgpr_default_align void (i32): unsupported dynamic alloca
55-
56-
define void @func_dynamic_stackalloc_vgpr_default_align(i32 %n) {
57-
%alloca = alloca i32, i32 %n, addrspace(5)
58-
store volatile i32 123, ptr addrspace(5) %alloca
59-
ret void
60-
}
61-
62-
; ERR: remark: <unknown>:0:0: cannot select: %{{[0-9]+}}:sreg_32(p5) = G_DYN_STACKALLOC %{{[0-9]+}}:vgpr(s32), 32 (in function: func_dynamic_stackalloc_vgpr_align32)
63-
; ERR-NEXT: warning: Instruction selection used fallback path for func_dynamic_stackalloc_vgpr_align32
64-
; ERR-NEXT: error: <unknown>:0:0: in function func_dynamic_stackalloc_vgpr_align32 void (i32): unsupported dynamic alloca
65-
66-
define void @func_dynamic_stackalloc_vgpr_align32(i32 %n) {
67-
%alloca = alloca i32, i32 %n, align 32, addrspace(5)
68-
store volatile i32 %n, ptr addrspace(5) %alloca
22+
store volatile ptr addrspace(5) %alloca, ptr addrspace(1) undef
6923
ret void
7024
}
7125

Diff for: llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll

+2-182
Original file line numberDiff line numberDiff line change
@@ -5,188 +5,8 @@ target datalayout = "A5"
55

66
; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
77

8-
define amdgpu_kernel void @test_dynamic_stackalloc_kernel_uniform(i32 %n) {
8+
define amdgpu_kernel void @test_dynamic_stackalloc(ptr addrspace(1) %out, i32 %n) {
99
%alloca = alloca i32, i32 %n, addrspace(5)
10-
store volatile i32 123, ptr addrspace(5) %alloca
11-
ret void
12-
}
13-
14-
; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
15-
16-
define amdgpu_kernel void @test_dynamic_stackalloc_kernel_uniform_over_aligned(i32 %n) {
17-
%alloca = alloca i32, i32 %n, align 128, addrspace(5)
18-
store volatile i32 10, ptr addrspace(5) %alloca
19-
ret void
20-
}
21-
22-
; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
23-
24-
define amdgpu_kernel void @test_dynamic_stackalloc_kernel_uniform_under_aligned(i32 %n) {
25-
%alloca = alloca i32, i32 %n, align 2, addrspace(5)
26-
store volatile i32 22, ptr addrspace(5) %alloca
27-
ret void
28-
}
29-
30-
; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
31-
32-
define amdgpu_kernel void @test_dynamic_stackalloc_kernel_divergent() {
33-
%idx = call i32 @llvm.amdgcn.workitem.id.x()
34-
%alloca = alloca float, i32 %idx, addrspace(5)
35-
store volatile i32 123, ptr addrspace(5) %alloca
36-
ret void
37-
}
38-
39-
; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
40-
41-
define amdgpu_kernel void @test_dynamic_stackalloc_kernel_divergent_over_aligned() {
42-
%idx = call i32 @llvm.amdgcn.workitem.id.x()
43-
%alloca = alloca i32, i32 %idx, align 128, addrspace(5)
44-
store volatile i32 444, ptr addrspace(5) %alloca
45-
ret void
46-
}
47-
48-
; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
49-
50-
define amdgpu_kernel void @test_dynamic_stackalloc_kernel_divergent_under_aligned() {
51-
%idx = call i32 @llvm.amdgcn.workitem.id.x()
52-
%alloca = alloca i128, i32 %idx, align 2, addrspace(5)
53-
store volatile i32 666, ptr addrspace(5) %alloca
54-
ret void
55-
}
56-
57-
; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
58-
; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
59-
; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
60-
61-
define amdgpu_kernel void @test_dynamic_stackalloc_kernel_multiple_allocas(i32 %n, i32 %m) {
62-
entry:
63-
%cond = icmp eq i32 %n, 0
64-
%alloca1 = alloca i32, i32 8, addrspace(5)
65-
%alloca2 = alloca i17, i32 %n, addrspace(5)
66-
br i1 %cond, label %bb.0, label %bb.1
67-
bb.0:
68-
%idx = call i32 @llvm.amdgcn.workitem.id.x()
69-
%alloca3 = alloca i32, i32 %m, align 64, addrspace(5)
70-
%alloca4 = alloca i32, i32 %idx, align 4, addrspace(5)
71-
store volatile i32 3, ptr addrspace(5) %alloca3
72-
store volatile i32 4, ptr addrspace(5) %alloca4
73-
br label %bb.1
74-
bb.1:
75-
store volatile i32 1, ptr addrspace(5) %alloca1
76-
store volatile i32 2, ptr addrspace(5) %alloca2
77-
ret void
78-
}
79-
80-
; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
81-
; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
82-
83-
define amdgpu_kernel void @test_dynamic_stackalloc_kernel_control_flow(i32 %n, i32 %m) {
84-
entry:
85-
%cond = icmp eq i32 %n, 0
86-
br i1 %cond, label %bb.0, label %bb.1
87-
bb.0:
88-
%alloca2 = alloca i32, i32 %m, align 64, addrspace(5)
89-
store volatile i32 2, ptr addrspace(5) %alloca2
90-
br label %bb.2
91-
bb.1:
92-
%idx = call i32 @llvm.amdgcn.workitem.id.x()
93-
%alloca1 = alloca i32, i32 %idx, align 4, addrspace(5)
94-
store volatile i32 1, ptr addrspace(5) %alloca1
95-
br label %bb.2
96-
bb.2:
97-
ret void
98-
}
99-
100-
; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
101-
102-
define void @test_dynamic_stackalloc_device_uniform(i32 %n) {
103-
%alloca = alloca i32, i32 %n, addrspace(5)
104-
store volatile i32 123, ptr addrspace(5) %alloca
105-
ret void
106-
}
107-
108-
; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
109-
110-
define void @test_dynamic_stackalloc_device_uniform_over_aligned(i32 %n) {
111-
%alloca = alloca i32, i32 %n, align 128, addrspace(5)
112-
store volatile i32 10, ptr addrspace(5) %alloca
113-
ret void
114-
}
115-
116-
; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
117-
118-
define void @test_dynamic_stackalloc_device_uniform_under_aligned(i32 %n) {
119-
%alloca = alloca i32, i32 %n, align 2, addrspace(5)
120-
store volatile i32 22, ptr addrspace(5) %alloca
121-
ret void
122-
}
123-
124-
; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
125-
126-
define void @test_dynamic_stackalloc_device_divergent() {
127-
%idx = call i32 @llvm.amdgcn.workitem.id.x()
128-
%alloca = alloca i32, i32 %idx, addrspace(5)
129-
store volatile i32 123, ptr addrspace(5) %alloca
130-
ret void
131-
}
132-
133-
; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
134-
135-
define void @test_dynamic_stackalloc_device_divergent_over_aligned() {
136-
%idx = call i32 @llvm.amdgcn.workitem.id.x()
137-
%alloca = alloca i32, i32 %idx, align 128, addrspace(5)
138-
store volatile i32 444, ptr addrspace(5) %alloca
139-
ret void
140-
}
141-
142-
; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
143-
144-
define void @test_dynamic_stackalloc_device_divergent_under_aligned() {
145-
%idx = call i32 @llvm.amdgcn.workitem.id.x()
146-
%alloca = alloca i32, i32 %idx, align 2, addrspace(5)
147-
store volatile i32 666, ptr addrspace(5) %alloca
148-
ret void
149-
}
150-
151-
; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
152-
; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
153-
; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
154-
155-
define void @test_dynamic_stackalloc_device_multiple_allocas(i32 %n, i32 %m) {
156-
entry:
157-
%cond = icmp eq i32 %n, 0
158-
%alloca1 = alloca i32, i32 8, addrspace(5)
159-
%alloca2 = alloca i32, i32 %n, addrspace(5)
160-
br i1 %cond, label %bb.0, label %bb.1
161-
bb.0:
162-
%idx = call i32 @llvm.amdgcn.workitem.id.x()
163-
%alloca3 = alloca i32, i32 %m, align 64, addrspace(5)
164-
%alloca4 = alloca i32, i32 %idx, align 4, addrspace(5)
165-
store volatile i32 3, ptr addrspace(5) %alloca3
166-
store volatile i32 4, ptr addrspace(5) %alloca4
167-
br label %bb.1
168-
bb.1:
169-
store volatile i32 1, ptr addrspace(5) %alloca1
170-
store volatile i32 2, ptr addrspace(5) %alloca2
171-
ret void
172-
}
173-
174-
; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
175-
; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
176-
177-
define void @test_dynamic_stackalloc_device_control_flow(i32 %n, i32 %m) {
178-
entry:
179-
%cond = icmp eq i32 %n, 0
180-
br i1 %cond, label %bb.0, label %bb.1
181-
bb.0:
182-
%idx = call i32 @llvm.amdgcn.workitem.id.x()
183-
%alloca1 = alloca i32, i32 %idx, align 4, addrspace(5)
184-
store volatile i32 1, ptr addrspace(5) %alloca1
185-
br label %bb.2
186-
bb.1:
187-
%alloca2 = alloca i32, i32 %m, align 64, addrspace(5)
188-
store volatile i32 2, ptr addrspace(5) %alloca2
189-
br label %bb.2
190-
bb.2:
10+
store volatile i32 0, ptr addrspace(5) %alloca
19111
ret void
19212
}

0 commit comments

Comments
 (0)