Files
archived-llvm/test/CodeGen/AMDGPU/subreg_interference.mir
Matthias Braun 0e90d42fce LiveRegMatrix: Fix some subreg interference checks
Surprisingly, one of the three interference checks in LiveRegMatrix was
using the main live range instead of the apropriate subregister range
resulting in unnecessarily conservative results.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@296722 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-02 00:35:08 +00:00

25 lines
786 B
YAML

# RUN: llc -o - %s -mtriple=amdgcn--amdhsa -verify-machineinstrs -run-pass=greedy,virtregrewriter | FileCheck %s
---
# We should not detect any interference between v0/v1 here and only allocate
# sgpr0-sgpr3.
#
# CHECK-LABEL: func0
# CHECK: S_NOP 0, implicit-def %sgpr0
# CHECK: S_NOP 0, implicit-def %sgpr3
# CHECK: S_NOP 0, implicit-def %sgpr1
# CHECK: S_NOP 0, implicit-def %sgpr2
# CHECK: S_NOP 0, implicit %sgpr0, implicit %sgpr3
# CHECK: S_NOP 0, implicit %sgpr1, implicit %sgpr2
name: func0
body: |
bb.0:
S_NOP 0, implicit-def undef %0.sub0 : sreg_128
S_NOP 0, implicit-def %0.sub3
S_NOP 0, implicit-def undef %1.sub1 : sreg_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
...