annotate test/CodeGen/Hexagon/ifcvt-impuse-livein.mir @ 128:c347d3398279 default tip

fix
author mir3636
date Wed, 06 Dec 2017 14:37:17 +0900
parents 803732b1fca8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
120
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
1 # RUN: llc -march=hexagon -run-pass if-converter %s -o - | FileCheck %s
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
2
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
3 # Make sure that the necessary implicit uses are added to predicated
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
4 # instructions.
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
5
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
6 # CHECK-LABEL: name: foo
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
7
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
8 --- |
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
9 define void @foo() {
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
10 ret void
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
11 }
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
12 ...
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
13
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
14 ---
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
15 name: foo
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
16 tracksRegLiveness: true
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
17 body: |
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
18 bb.0:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
19 successors: %bb.1, %bb.2
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
20 liveins: %r0, %r2, %p1
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
21 J2_jumpf %p1, %bb.1, implicit-def %pc
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
22 J2_jump %bb.2, implicit-def %pc
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
23 bb.1:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
24 successors: %bb.3
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
25 liveins: %r2
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
26 %r0 = A2_tfrsi 2
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
27 J2_jump %bb.3, implicit-def %pc
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
28 bb.2:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
29 successors: %bb.3
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
30 liveins: %r0
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
31 ; Even though r2 was not live on entry to this block, it was live across
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
32 ; block bb.1 in the original diamond. After if-conversion, the diamond
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
33 ; became a single block, and so r2 is now live on entry to the instructions
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
34 ; originating from bb.2.
121
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
35 ; CHECK: %r2 = C2_cmoveit %p1, 1, implicit killed %r2
120
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
36 %r2 = A2_tfrsi 1
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
37 bb.3:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
38 liveins: %r0, %r2
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
39 %r0 = A2_add %r0, %r2
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
40 J2_jumpr %r31, implicit-def %pc
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
41 ...
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
42