[MachineScheduler] Fix physreg dependencies of ExitSU (#123541)
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / ran-out-of-registers-error-all-regs-reserved.ll
blob388a8e804a8896de122423b7237ba1833cbdfd0d
1 ; RUN: not llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx908 -vgpr-regalloc=greedy -verify-machineinstrs=0 -filetype=null %s 2>&1 | FileCheck -implicit-check-not=error %s
2 ; RUN: not llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx908 -vgpr-regalloc=basic -verify-machineinstrs=0 -filetype=null %s 2>&1 | FileCheck -implicit-check-not=error %s
3 ; RUN: not llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx908 -vgpr-regalloc=fast -verify-machineinstrs=0 -filetype=null %s 2>&1 | FileCheck -implicit-check-not=error %s
5 ; FIXME: Should pass verifier after failure.
7 declare <32 x i32> @llvm.amdgcn.mfma.i32.32x32x4i8(i32, i32, <32 x i32>, i32 immarg, i32 immarg, i32 immarg)
9 ; CHECK: error: <unknown>:0:0: no registers from class available to allocate in function 'no_registers_from_class_available_to_allocate'
10 define <32 x i32> @no_registers_from_class_available_to_allocate(<32 x i32> %arg) #0 {
11   %ret = call <32 x i32> @llvm.amdgcn.mfma.i32.32x32x4i8(i32 1, i32 2, <32 x i32> %arg, i32 1, i32 2, i32 3)
12   ret <32 x i32> %ret
15 ; CHECK: error: <unknown>:0:0: no registers from class available to allocate in function 'no_registers_from_class_available_to_allocate_asm_use'
16 define void @no_registers_from_class_available_to_allocate_asm_use(<32 x i32> %arg) #0 {
17   call void asm sideeffect "; use $0", "v"(<32 x i32> %arg)
18   ret void
21 ; CHECK: error: <unknown>:0:0: no registers from class available to allocate in function 'no_registers_from_class_available_to_allocate_asm_def'
22 define <32 x i32> @no_registers_from_class_available_to_allocate_asm_def() #0 {
23   %ret = call <32 x i32> asm sideeffect "; def $0", "=v"()
24   ret <32 x i32> %ret
27 ; CHECK: error: <unknown>:0:0: no registers from class available to allocate in function 'no_registers_from_class_available_to_allocate_undef_asm'
28 define void @no_registers_from_class_available_to_allocate_undef_asm() #0 {
29   call void asm sideeffect "; use $0", "v"(<32 x i32> poison)
30   ret void
33 attributes #0 = { "amdgpu-waves-per-eu"="10,10" }