blob: 25863fff2d36119233aa48af030ca9c67969a122 [file] [log] [blame]
Eric Christophercee313d2019-04-17 04:52:47 +00001; RUN: opt -S -indvars < %s | FileCheck %s
2
3define i16 @fn1() {
4; CHECK-LABEL: @fn1(
5entry:
6 br label %bb1
7
8bb1:
9 %i = phi i16 [ 0, %entry ], [ 1, %bb1 ]
10 %storemerge = phi i16 [ %storemerge2, %bb1 ], [ 0, %entry ]
11 %storemerge2 = phi i16 [ 10, %entry ], [ 200, %bb1 ]
12 %tmp10 = icmp eq i16 %i, 1
13 br i1 %tmp10, label %bb5, label %bb1
14
15bb5:
16 %storemerge.lcssa = phi i16 [ %storemerge, %bb1 ]
17; CHECK: ret i16 10
18 ret i16 %storemerge.lcssa
19}
20
21define i16 @fn2() {
22; CHECK-LABEL: @fn2(
23entry:
24 br label %bb1
25
26bb1:
27 %canary = phi i16 [ 0, %entry ], [ %canary.inc, %bb1 ]
28 %i = phi i16 [ 0, %entry ], [ %storemerge, %bb1 ]
29 %storemerge = phi i16 [ 0, %bb1 ], [ 10, %entry ]
30 %canary.inc = add i16 %canary, 1
31 %_tmp10 = icmp eq i16 %i, 10
32 br i1 %_tmp10, label %bb5, label %bb1
33
34bb5:
35; CHECK: ret i16 1
36 ret i16 %canary
37}