blob: 07af88ffbebebadbc31a6c3ce045f0092dd24e6c [file] [log] [blame]
Nick Lewycky4d3bba52012-06-28 23:44:57 +00001; RUN: opt < %s -analyze -scalar-evolution | FileCheck %s
2
3; PR13228
4define void @f() nounwind uwtable readnone {
5entry:
6 br label %for.cond
7
8for.cond: ; preds = %for.cond, %entry
9 %c.0 = phi i8 [ 1, %entry ], [ 0, %for.cond ]
10 %i.0 = phi i8 [ 0, %entry ], [ %inc, %for.cond ]
11 %lnot = icmp eq i8 %i.0, 0
12 %inc = add i8 %i.0, 1
13 br i1 %lnot, label %for.cond, label %while.cond
14
15while.cond: ; preds = %while.body, %for.cond
16 %b.2 = phi i8 [ %add, %while.body ], [ 0, %for.cond ]
17 br i1 undef, label %while.end, label %while.body
18
19while.body: ; preds = %while.cond
20 %add = add i8 %b.2, %c.0
21 %tobool7 = icmp eq i8 %add, 0
22 br i1 %tobool7, label %while.end, label %while.cond
23
24while.end: ; preds = %while.body, %while.cond
25 ret void
26}
27;CHECK: Loop %while.cond: <multiple exits> Unpredictable backedge-taken count.