1 # RUN: llc -march=amdgcn -run-pass rename-independent-subregs -o - %s | FileCheck %s 2 --- | 3 define void @test0() { ret void } 4 ... 5 --- 6 # In the test below we have two independent def+use pairs of subregister1 which 7 # can be moved to a new virtual register. The third def of sub1 however is used 8 # in combination with sub0 and needs to stay with the original vreg. 9 # CHECK-LABEL: name: test0 10 # CHECK: S_NOP 0, implicit-def undef %0:sub0 11 # CHECK: S_NOP 0, implicit-def undef %2:sub1 12 # CHECK: S_NOP 0, implicit %2:sub1 13 # CHECK: S_NOP 0, implicit-def undef %1:sub1 14 # CHECK: S_NOP 0, implicit %1:sub1 15 # CHECK: S_NOP 0, implicit-def %0:sub1 16 # CHECK: S_NOP 0, implicit %0 17 name: test0 18 isSSA: true 19 registers: 20 - { id: 0, class: sreg_128 } 21 body: | 22 bb.0: 23 S_NOP 0, implicit-def undef %0:sub0 24 S_NOP 0, implicit-def %0:sub1 25 S_NOP 0, implicit %0:sub1 26 S_NOP 0, implicit-def %0:sub1 27 S_NOP 0, implicit %0:sub1 28 S_NOP 0, implicit-def %0:sub1 29 S_NOP 0, implicit %0 30 ... 31