1 ; RUN: opt < %s -passes=reassociate -disable-output
4 define void @foo(i1 %arg) {
8 while.cond: ; preds = %while.body, %entry
9 %b.0 = phi i32 [ undef, %entry ], [ %sub2, %while.body ]
10 %c.0 = phi i32 [ undef, %entry ], [ %sub3, %while.body ]
11 br i1 %arg, label %while.end, label %while.body
13 while.body: ; preds = %while.cond
14 %sub = sub nsw i32 0, %b.0
15 %sub2 = sub nsw i32 %sub, %c.0
16 %sub3 = sub nsw i32 0, %c.0
19 while.end: ; preds = %while.cond