86a1321c35437a2cf8d061473b0a1aee0e92cf84
[oota-llvm.git] / test / Transforms / JumpThreading / 2011-04-14-InfLoop.ll
1 ; RUN: opt -jump-threading < %s
2 ; <rdar://problem/9284786>
3
4 %0 = type <{ i64, i16, i64, i8, i8 }>
5
6 @g_338 = external global %0, align 8
7
8 define void @func_1() nounwind ssp {
9 entry:
10   ret void
11
12 for.cond1177:
13   %inc1187 = add nsw i32 0, 1
14   %cmp1179 = icmp slt i32 %inc1187, 5
15   br i1 %cmp1179, label %for.cond1177, label %land.rhs1320
16
17 land.rhs1320:
18   %tmp1324 = load volatile i64* getelementptr inbounds (%0* @g_338, i64 0, i32 2), align 1
19   br label %if.end.i
20
21 if.end.i:
22   %tobool.pr.i = phi i1 [ false, %if.end.i ], [ false, %land.rhs1320 ]
23   br i1 %tobool.pr.i, label %return, label %if.end.i
24
25 return:
26   ret void
27 }