xref: /aosp_15_r20/external/llvm/test/CodeGen/AMDGPU/liveness.mir (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker# RUN: llc -march=amdgcn -run-pass liveintervals -verify-machineinstrs -o /dev/null -debug-only=regalloc %s 2>&1 | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker# REQUIRES: asserts
3*9880d681SAndroid Build Coastguard Worker# We currently maintain a main liveness range which operates like a superset of
4*9880d681SAndroid Build Coastguard Worker# all subregister liveranges. We may need to create additional SSA values at
5*9880d681SAndroid Build Coastguard Worker# merge point in this main liverange even though none of the subregister
6*9880d681SAndroid Build Coastguard Worker# liveranges needed it.
7*9880d681SAndroid Build Coastguard Worker#
8*9880d681SAndroid Build Coastguard Worker# Should see three distinct value numbers:
9*9880d681SAndroid Build Coastguard Worker# CHECK: %vreg0 [{{.*}}:0)[{{.*}}:1)[{{.*}}:2) 0@{{[0-9]+[Berd]}} 1@{{[0-9]+[Berd]}} 2@{{[0-9]+B-phi}}
10*9880d681SAndroid Build Coastguard Worker--- |
11*9880d681SAndroid Build Coastguard Worker  define void @test0() { ret void }
12*9880d681SAndroid Build Coastguard Worker...
13*9880d681SAndroid Build Coastguard Worker---
14*9880d681SAndroid Build Coastguard Workername: test0
15*9880d681SAndroid Build Coastguard Workerregisters:
16*9880d681SAndroid Build Coastguard Worker  - { id: 0, class: sreg_64 }
17*9880d681SAndroid Build Coastguard Workerbody: |
18*9880d681SAndroid Build Coastguard Worker  bb.0:
19*9880d681SAndroid Build Coastguard Worker    successors: %bb.1, %bb.2
20*9880d681SAndroid Build Coastguard Worker    S_NOP 0, implicit-def undef %0:sub0
21*9880d681SAndroid Build Coastguard Worker    S_CBRANCH_VCCNZ %bb.1, implicit undef %vcc
22*9880d681SAndroid Build Coastguard Worker    S_BRANCH %bb.2
23*9880d681SAndroid Build Coastguard Worker
24*9880d681SAndroid Build Coastguard Worker  bb.1:
25*9880d681SAndroid Build Coastguard Worker    successors: %bb.2
26*9880d681SAndroid Build Coastguard Worker    S_NOP 0, implicit-def %0:sub1
27*9880d681SAndroid Build Coastguard Worker    S_NOP 0, implicit %0:sub1
28*9880d681SAndroid Build Coastguard Worker    S_BRANCH %bb.2
29*9880d681SAndroid Build Coastguard Worker
30*9880d681SAndroid Build Coastguard Worker  bb.2:
31*9880d681SAndroid Build Coastguard Worker    S_NOP 0, implicit %0:sub0
32*9880d681SAndroid Build Coastguard Worker...
33