blob: 35d9aa5b1841e355fa706e19e95032d9a8e5fd0d [file] [log] [blame]
David Majnemer6ee8d172015-01-04 07:06:53 +00001; RUN: opt -S -jump-threading < %s | FileCheck %s
2
3
4; CHECK-LABEL: @f(
5; CHECK-LABEL: entry:
6; CHECK-NEXT: br label %[[loop:.*]]
7; CHECK: [[loop]]:
8; CHECK-NEXT: br label %[[loop]]
9
10define void @f() {
11entry:
12 br label %for.cond1
13
14if.end16:
15 %phi1 = phi i32 [ undef, %for.cond1 ]
16 %g.3 = phi i32 [ %g.1, %for.cond1 ]
17 %sext = shl i32 %g.3, 16
18 %conv20 = ashr exact i32 %sext, 16
19 %tobool21 = icmp eq i32 %phi1, 0
20 br i1 %tobool21, label %lor.rhs, label %for.cond1
21
22for.cond1:
23 %g.1 = phi i32 [ 0, %entry ], [ 0, %lor.rhs ], [ %g.3, %if.end16 ]
24 br i1 undef, label %lor.rhs, label %if.end16
25
26lor.rhs:
27 br label %for.cond1
28}