1; RUN: opt < %s -S -passes=loop-simplify | FileCheck %s 2 3; Don't separate out nested loops if a convergent call is present 4 5; CHECK-NOT: BB1.outer 6; CHECK: BB1.backedge 7 8define i32 @test(i1 %loop_cond, i1 %exit_cond, i32 %init) { 9entry: 10 br label %BB1 11 12BB1: 13 %indvar = phi i32 [%indvar, %BB1], [%inc, %BB2], [%init, %entry] 14 call void @f() convergent 15 br i1 %loop_cond, label %BB1, label %BB2 16 17BB2: 18 %inc = add i32 %indvar, 1 19 br i1 %exit_cond, label %exit, label %BB1 20 21exit: 22 ret i32 %inc 23} 24 25declare void @f() convergent 26