|
1 |
| -; RUN: not llc -global-isel -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -global-isel-abort=2 -pass-remarks-missed="gisel.*" -verify-machineinstrs -o /dev/null 2>&1 %s | FileCheck -check-prefix=ERR %s |
| 1 | +; RUN: not llc -global-isel -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -global-isel-abort=2 -pass-remarks-missed="gisel.*" -verify-machineinstrs=0 -o /dev/null 2>&1 %s | FileCheck -check-prefix=ERR %s |
2 | 2 |
|
3 | 3 | ; 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_align4)
|
4 | 4 | ; ERR-NEXT: warning: Instruction selection used fallback path for kernel_dynamic_stackalloc_vgpr_align4
|
5 | 5 | ; ERR-NEXT: error: <unknown>:0:0: in function kernel_dynamic_stackalloc_vgpr_align4 void (ptr addrspace(1)): unsupported dynamic alloca
|
6 | 6 |
|
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 |
| - |
11 | 7 | define amdgpu_kernel void @kernel_dynamic_stackalloc_vgpr_align4(ptr addrspace(1) %ptr) {
|
12 | 8 | %id = call i32 @llvm.amdgcn.workitem.id.x()
|
13 | 9 | %gep = getelementptr i32, ptr addrspace(1) %ptr, i32 %id
|
14 | 10 | %n = load i32, ptr addrspace(1) %gep
|
15 | 11 | %alloca = alloca i32, i32 %n, align 4, addrspace(5)
|
16 |
| - store volatile ptr addrspace(5) %alloca, ptr addrspace(1) undef |
| 12 | + store volatile i32 123, ptr addrspace(5) %alloca |
17 | 13 | ret void
|
18 | 14 | }
|
19 | 15 |
|
| 16 | +; 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) |
| 17 | +; ERR-NEXT: warning: Instruction selection used fallback path for func_dynamic_stackalloc_vgpr_align4 |
| 18 | +; ERR-NEXT: error: <unknown>:0:0: in function func_dynamic_stackalloc_vgpr_align4 void (i32): unsupported dynamic alloca |
| 19 | + |
20 | 20 | define void @func_dynamic_stackalloc_vgpr_align4(i32 %n) {
|
21 | 21 | %alloca = alloca i32, i32 %n, align 4, addrspace(5)
|
22 |
| - store volatile ptr addrspace(5) %alloca, ptr addrspace(1) undef |
| 22 | + store volatile i32 456, ptr addrspace(5) %alloca |
23 | 23 | ret void
|
24 | 24 | }
|
25 | 25 |
|
|
0 commit comments