| # RUN: llc -march=amdgcn -run-pass liveintervals -verify-machineinstrs -o /dev/null -debug-only=regalloc %s 2>&1 | FileCheck %s |
| # REQUIRES: asserts |
| # We currently maintain a main liveness range which operates like a superset of |
| # all subregister liveranges. We may need to create additional SSA values at |
| # merge point in this main liverange even though none of the subregister |
| # liveranges needed it. |
| # |
| # Should see three distinct value numbers: |
| # CHECK: %0 [{{.*}}:0)[{{.*}}:1)[{{.*}}:2) 0@{{[0-9]+[Berd]}} 1@{{[0-9]+[Berd]}} 2@{{[0-9]+B-phi}} |
| --- | |
| define amdgpu_kernel void @test0() { ret void } |
| ... |
| --- |
| name: test0 |
| registers: |
| - { id: 0, class: sreg_64 } |
| body: | |
| bb.0: |
| S_NOP 0, implicit-def undef %0.sub0 |
| S_CBRANCH_VCCNZ %bb.1, implicit undef $vcc |
| S_BRANCH %bb.2 |
| |
| bb.1: |
| S_NOP 0, implicit-def %0.sub1 |
| S_NOP 0, implicit %0.sub1 |
| S_BRANCH %bb.2 |
| |
| bb.2: |
| S_NOP 0, implicit %0.sub0 |
| ... |