; RUN: opt < %s -analyze -scalar-evolution ; PR1827 declare void @use(i32) define void @foo() { entry: br label %loop_1 loop_1: ; preds = %loop_1, %entry %a = phi i32 [ 2, %entry ], [ %b, %loop_1 ] ; [#uses=2] %c = phi i32 [ 5, %entry ], [ %d, %loop_1 ] ; [#uses=1] %b = add i32 %a, 1 ; [#uses=1] %d = add i32 %c, %a ; [#uses=3] %A = icmp ult i32 %d, 50 ; [#uses=1] br i1 %A, label %loop_1, label %endloop endloop: ; preds = %loop_1 call void @use(i32 %d) ret void }