; PR28103 | |
; Bail out if the two successors are not the header | |
; and another bb outside of the loop. This case is not | |
; properly handled by LoopUnroll, currently. | |
; RUN: opt -passes=loop-unroll -verify-dom-info %s | |
; REQUIRES: asserts | |
define void @tinkywinky(i1 %patatino) { | |
entry: | |
br label %header1 | |
header1: | |
%indvars.iv = phi i64 [ 1, %body2 ], [ 0, %entry ] | |
%exitcond = icmp ne i64 %indvars.iv, 1 | |
br i1 %exitcond, label %body1, label %exit | |
body1: | |
br i1 %patatino, label %body2, label %sink | |
body2: | |
br i1 %patatino, label %header1, label %body3 | |
body3: | |
br label %sink | |
sink: | |
br label %body2 | |
exit: | |
ret void | |
} |