xref: /llvm-project/llvm/test/CodeGen/MIR/AMDGPU/virtreg-uses-unallocatable-class.mir (revision 9996e71f2d73a76dc62eb12fc3012aae91014b27)
1# UNSUPPORTED: reverse_iteration
2# RUN: not llc -mtriple=amdgcn-- -mcpu=gfx900 -run-pass=none -o - %s 2>&1 | FileCheck %s
3
4# Check a diagnostic is emitted if non-allocatable classes are used
5# with virtual registers, and there's no assert.
6
7# CHECK: error: {{.*}}: Cannot use non-allocatable class 'TTMP_32' for virtual register named_use in function 'virtreg_unallocatable'
8# CHECK: error: {{.*}}: Cannot use non-allocatable class 'TTMP_32' for virtual register named_def in function 'virtreg_unallocatable'
9# CHECK: error: {{.*}}: Cannot use non-allocatable class 'TTMP_32' for virtual register 0 in function 'virtreg_unallocatable'
10# CHECK: error: {{.*}}: Cannot use non-allocatable class 'TTMP_32' for virtual register 2 in function 'virtreg_unallocatable'
11# CHECK: error: {{.*}}: Cannot use non-allocatable class 'TTMP_32' for virtual register 1 in function 'virtreg_unallocatable'
12
13---
14name: virtreg_unallocatable
15tracksRegLiveness: true
16registers:
17  - { id: 0, class: ttmp_32}
18body:             |
19  bb.0:
20    %1:ttmp_32 = IMPLICIT_DEF
21    S_NOP 0, implicit %2:ttmp_32
22
23    %named_def:ttmp_32 = IMPLICIT_DEF
24    S_NOP 0, implicit %named_use:ttmp_32
25
26...
27