mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-25 13:35:39 +00:00
a4a23eae96
The exit-on-error flag was necessary in order to avoid an assertion when handling DYNAMIC_STACKALLOC nodes in SelectionDAGLegalize. We can avoid the assertion by creating some dummy nodes. This enables us to remove the exit-on-error flag on the first 2 run lines (SI), but on the third run line (R600) we would run into another assertion when trying to reserve indirect registers. This patch also replaces that assertion with an early exit from the function. Fixes PR27761. Differential Revision: http://reviews.llvm.org/D20852 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273550 91177308-0d34-0410-b5e6-96231b3b80d8
12 lines
523 B
LLVM
12 lines
523 B
LLVM
; RUN: not llc -march=amdgcn -mcpu=tahiti -mattr=+promote-alloca -verify-machineinstrs < %s 2>&1 | FileCheck %s
|
|
; RUN: not llc -march=amdgcn -mcpu=tahiti -mattr=-promote-alloca -verify-machineinstrs < %s 2>&1 | FileCheck %s
|
|
; RUN: not llc -march=r600 -mcpu=cypress < %s 2>&1 | FileCheck %s
|
|
|
|
; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
|
|
|
|
define void @test_dynamic_stackalloc(i32 addrspace(1)* %out, i32 %n) {
|
|
%alloca = alloca i32, i32 %n
|
|
store volatile i32 0, i32* %alloca
|
|
ret void
|
|
}
|