2017-04-25 04:14:11 +08:00
|
|
|
; 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 -loop-unroll -verify-dom-info %s
|
2017-05-12 23:30:58 +08:00
|
|
|
; REQUIRES: asserts
|
2017-04-25 04:14:11 +08:00
|
|
|
|
|
|
|
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
|
|
|
|
}
|