llvm.org GIT mirror llvm / release_39 test / CodeGen / AMDGPU / rename-independent-subregs.mir
release_39

Tree @release_39 (Download .tar.gz)

rename-independent-subregs.mir @release_39raw · history · blame

# RUN: llc -march=amdgcn -run-pass rename-independent-subregs -o - %s | FileCheck %s
--- |
  define void @test0() { ret void }
...
---
# In the test below we have two independent def+use pairs of subregister1 which
# can be moved to a new virtual register. The third def of sub1 however is used
# in combination with sub0 and needs to stay with the original vreg.
# CHECK-LABEL: name: test0
# CHECK: S_NOP 0, implicit-def undef %0:sub0
# CHECK: S_NOP 0, implicit-def undef %2:sub1
# CHECK: S_NOP 0, implicit %2:sub1
# CHECK: S_NOP 0, implicit-def undef %1:sub1
# CHECK: S_NOP 0, implicit %1:sub1
# CHECK: S_NOP 0, implicit-def %0:sub1
# CHECK: S_NOP 0, implicit %0
name: test0
isSSA: true
registers:
  - { id: 0, class: sreg_128 }
body: |
  bb.0:
    S_NOP 0, implicit-def undef %0:sub0
    S_NOP 0, implicit-def %0:sub1
    S_NOP 0, implicit %0:sub1
    S_NOP 0, implicit-def %0:sub1
    S_NOP 0, implicit %0:sub1
    S_NOP 0, implicit-def %0:sub1
    S_NOP 0, implicit %0
...