Yet another hard testcase
[oota-llvm.git] / test / Transforms / LICM / sink_phi_node_use.ll
1 ; RUN: llvm-as < %s | opt -licm | llvm-dis | grep -C1 add | grep preheader.loopexit: 
2
3 implementation
4
5 void %test() {
6 loopentry.2.i:
7         br bool false, label %no_exit.1.i.preheader, label %loopentry.3.i.preheader
8
9 no_exit.1.i.preheader:
10         br label %no_exit.1.i
11
12 no_exit.1.i:
13         br bool false, label %return.i, label %endif.8.i
14
15 endif.8.i:
16         %inc.1.i = add int 0, 1
17         br bool false, label %no_exit.1.i, label %loopentry.3.i.preheader.loopexit
18
19 loopentry.3.i.preheader.loopexit:
20         br label %loopentry.3.i.preheader
21
22 loopentry.3.i.preheader:
23         %arg_num.0.i.ph13000 = phi int [ 0, %loopentry.2.i ], [ %inc.1.i, %loopentry.3.i.preheader.loopexit ]
24         ret void
25
26 return.i:
27         ret void
28 }