1*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -reassociate -disable-output 2*9880d681SAndroid Build Coastguard Worker; PR13041 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Workerdefine void @foo() { 5*9880d681SAndroid Build Coastguard Workerentry: 6*9880d681SAndroid Build Coastguard Worker br label %while.cond 7*9880d681SAndroid Build Coastguard Worker 8*9880d681SAndroid Build Coastguard Workerwhile.cond: ; preds = %while.body, %entry 9*9880d681SAndroid Build Coastguard Worker %b.0 = phi i32 [ undef, %entry ], [ %sub2, %while.body ] 10*9880d681SAndroid Build Coastguard Worker %c.0 = phi i32 [ undef, %entry ], [ %sub3, %while.body ] 11*9880d681SAndroid Build Coastguard Worker br i1 undef, label %while.end, label %while.body 12*9880d681SAndroid Build Coastguard Worker 13*9880d681SAndroid Build Coastguard Workerwhile.body: ; preds = %while.cond 14*9880d681SAndroid Build Coastguard Worker %sub = sub nsw i32 0, %b.0 15*9880d681SAndroid Build Coastguard Worker %sub2 = sub nsw i32 %sub, %c.0 16*9880d681SAndroid Build Coastguard Worker %sub3 = sub nsw i32 0, %c.0 17*9880d681SAndroid Build Coastguard Worker br label %while.cond 18*9880d681SAndroid Build Coastguard Worker 19*9880d681SAndroid Build Coastguard Workerwhile.end: ; preds = %while.cond 20*9880d681SAndroid Build Coastguard Worker ret void 21*9880d681SAndroid Build Coastguard Worker} 22