; LoopInfo is incorrectly calculating loop nesting!  In this case it doesn't 
; figure out that loop "Inner" should be nested inside of leep "LoopHeader", 
; and instead nests it just inside loop "Top"
;
; RUN: opt < %s -analyze -loops | \
; RUN:   grep {     Loop at depth 3 containing: %Inner<header><latch><exiting>}
;
define void @test() {
        br label %Top

Top:            ; preds = %Out, %0
        br label %LoopHeader

Next:           ; preds = %LoopHeader
        br i1 false, label %Inner, label %Out

Inner:          ; preds = %Inner, %Next
        br i1 false, label %Inner, label %LoopHeader

LoopHeader:             ; preds = %Inner, %Top
        br label %Next

Out:            ; preds = %Next
        br i1 false, label %Top, label %Done

Done:           ; preds = %Out
        ret void
}

