annotate llvm/test/Transforms/LCSSA/remove-phis.ll @ 201:a96fbbdf2d0f

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 04 Jun 2021 21:07:06 +0900
parents 1d019706d866
children 1f2b6ac9f198
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
150
anatofuz
parents:
diff changeset
1 ; RUN: opt < %s -lcssa -verify -S -o /dev/null
anatofuz
parents:
diff changeset
2
anatofuz
parents:
diff changeset
3 ; This bugpoint reduced test case used to assert when removing unused PHI nodes.
anatofuz
parents:
diff changeset
4 ; Just verify that we do not assert/crash.
anatofuz
parents:
diff changeset
5
anatofuz
parents:
diff changeset
6 define void @test() {
anatofuz
parents:
diff changeset
7 entry:
anatofuz
parents:
diff changeset
8 br label %gazank
anatofuz
parents:
diff changeset
9
anatofuz
parents:
diff changeset
10 gazank:
anatofuz
parents:
diff changeset
11 %value = phi i16 [ 0, %entry ], [ undef, %gazonk ]
anatofuz
parents:
diff changeset
12 br i1 undef, label %gazink, label %qqq
anatofuz
parents:
diff changeset
13
anatofuz
parents:
diff changeset
14 gazink:
anatofuz
parents:
diff changeset
15 br i1 undef, label %gazonk, label %infinite.loop.pred
anatofuz
parents:
diff changeset
16
anatofuz
parents:
diff changeset
17 gazonk:
anatofuz
parents:
diff changeset
18 br i1 undef, label %exit1, label %gazank
anatofuz
parents:
diff changeset
19
anatofuz
parents:
diff changeset
20 qqq:
anatofuz
parents:
diff changeset
21 br i1 undef, label %www, label %exit2
anatofuz
parents:
diff changeset
22
anatofuz
parents:
diff changeset
23 www:
anatofuz
parents:
diff changeset
24 br i1 undef, label %qqq, label %foo.pred
anatofuz
parents:
diff changeset
25
anatofuz
parents:
diff changeset
26 foo.pred:
anatofuz
parents:
diff changeset
27 br label %foo
anatofuz
parents:
diff changeset
28
anatofuz
parents:
diff changeset
29 foo:
anatofuz
parents:
diff changeset
30 br i1 undef, label %bar, label %exit1.pred
anatofuz
parents:
diff changeset
31
anatofuz
parents:
diff changeset
32 bar:
anatofuz
parents:
diff changeset
33 br i1 undef, label %foo, label %exit2.pred
anatofuz
parents:
diff changeset
34
anatofuz
parents:
diff changeset
35 unreachable1:
anatofuz
parents:
diff changeset
36 br i1 undef, label %foo, label %exit2.pred
anatofuz
parents:
diff changeset
37
anatofuz
parents:
diff changeset
38 exit1.pred:
anatofuz
parents:
diff changeset
39 br label %exit1
anatofuz
parents:
diff changeset
40
anatofuz
parents:
diff changeset
41 exit1:
anatofuz
parents:
diff changeset
42 ret void
anatofuz
parents:
diff changeset
43
anatofuz
parents:
diff changeset
44 exit2.pred:
anatofuz
parents:
diff changeset
45 br label %exit2
anatofuz
parents:
diff changeset
46
anatofuz
parents:
diff changeset
47 exit2:
anatofuz
parents:
diff changeset
48 ret void
anatofuz
parents:
diff changeset
49
anatofuz
parents:
diff changeset
50 infinite.loop.pred:
anatofuz
parents:
diff changeset
51 br label %infinite.loop
anatofuz
parents:
diff changeset
52
anatofuz
parents:
diff changeset
53 infinite.loop:
anatofuz
parents:
diff changeset
54 %dead = phi i16 [ %value, %infinite.loop.pred ], [ 0, %infinite.loop ]
anatofuz
parents:
diff changeset
55 br label %infinite.loop
anatofuz
parents:
diff changeset
56 }