mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-03-05 02:49:18 +00:00

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 llvm-svn: 273550
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
|
|
}
|