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