1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-01-31 20:51:52 +01:00
llvm-mirror/test/CodeGen/AMDGPU/subreg_interference.mir
Matt Arsenault a8a00a4e2a AMDGPU: Use SGPR_128 instead of SReg_128 for vregs
SGPR_128 only includes the real allocatable SGPRs, and SReg_128 adds
the additional non-allocatable TTMP registers. There's no point in
allocating SReg_128 vregs. This shrinks the size of the classes
regalloc needs to consider, which is usually good.

llvm-svn: 374284
2019-10-10 07:11:33 +00:00

33 lines
935 B
YAML

# RUN: llc -o - %s -mtriple=amdgcn--amdhsa -verify-machineinstrs -run-pass=greedy,virtregrewriter | FileCheck %s
--- |
define amdgpu_kernel void @func0() {
ret void
}
...
---
# We should not detect any interference between v0/v1 here and only allocate
# sgpr0-sgpr3.
#
# CHECK-LABEL: func0
# CHECK: S_NOP 0, implicit-def renamable $sgpr0
# CHECK: S_NOP 0, implicit-def renamable $sgpr3
# CHECK: S_NOP 0, implicit-def renamable $sgpr1
# CHECK: S_NOP 0, implicit-def renamable $sgpr2
# CHECK: S_NOP 0, implicit renamable $sgpr0, implicit renamable $sgpr3
# CHECK: S_NOP 0, implicit renamable $sgpr1, implicit renamable $sgpr2
name: func0
body: |
bb.0:
S_NOP 0, implicit-def undef %0.sub0 : sgpr_128
S_NOP 0, implicit-def %0.sub3
S_NOP 0, implicit-def undef %1.sub1 : sgpr_128
S_NOP 0, implicit-def %1.sub2
S_NOP 0, implicit %0.sub0, implicit %0.sub3
S_NOP 0, implicit %1.sub1, implicit %1.sub2
...