Diana Picus | e440f99 | 2016-06-23 09:19:16 +0000 | [diff] [blame] | 1 | ; RUN: not llc -verify-machineinstrs -march=amdgcn %s -o /dev/null 2>&1 | FileCheck %s |
| 2 | ; RUN: not llc -verify-machineinstrs -march=amdgcn -mcpu=tonga %s -o /dev/null 2>&1 | FileCheck %s |
Matt Arsenault | 642d2e7 | 2014-06-27 16:52:49 +0000 | [diff] [blame] | 3 | |
| 4 | ; Make sure promote alloca pass doesn't crash |
| 5 | |
| 6 | ; CHECK: unsupported call |
| 7 | |
| 8 | declare i32 @foo(i32*) nounwind |
| 9 | |
Matt Arsenault | 3dbeefa | 2017-03-21 21:39:51 +0000 | [diff] [blame] | 10 | define amdgpu_kernel void @call_private(i32 addrspace(1)* %out, i32 %in) nounwind { |
Matt Arsenault | 642d2e7 | 2014-06-27 16:52:49 +0000 | [diff] [blame] | 11 | entry: |
| 12 | %tmp = alloca [2 x i32] |
David Blaikie | 79e6c74 | 2015-02-27 19:29:02 +0000 | [diff] [blame] | 13 | %tmp1 = getelementptr [2 x i32], [2 x i32]* %tmp, i32 0, i32 0 |
| 14 | %tmp2 = getelementptr [2 x i32], [2 x i32]* %tmp, i32 0, i32 1 |
Matt Arsenault | 642d2e7 | 2014-06-27 16:52:49 +0000 | [diff] [blame] | 15 | store i32 0, i32* %tmp1 |
| 16 | store i32 1, i32* %tmp2 |
David Blaikie | 79e6c74 | 2015-02-27 19:29:02 +0000 | [diff] [blame] | 17 | %tmp3 = getelementptr [2 x i32], [2 x i32]* %tmp, i32 0, i32 %in |
Matt Arsenault | 642d2e7 | 2014-06-27 16:52:49 +0000 | [diff] [blame] | 18 | %val = call i32 @foo(i32* %tmp3) nounwind |
| 19 | store i32 %val, i32 addrspace(1)* %out |
| 20 | ret void |
| 21 | } |