; RUN: opt < %s -loop-extract -disable-output
; This testcase is failing the loop extractor because not all exit blocks 
; are dominated by all of the live-outs.

define i32 @ab(i32 %alpha, i32 %beta) {
entry:
        br label %loopentry.1.preheader

loopentry.1.preheader:          ; preds = %entry
        br label %loopentry.1

loopentry.1:            ; preds = %no_exit.1, %loopentry.1.preheader
        br i1 false, label %no_exit.1, label %loopexit.0.loopexit1

no_exit.1:              ; preds = %loopentry.1
        %tmp.53 = load i32* null                ; <i32> [#uses=1]
        br i1 false, label %shortcirc_next.2, label %loopentry.1

shortcirc_next.2:               ; preds = %no_exit.1
        %tmp.563 = call i32 @wins( i32 0, i32 %tmp.53, i32 3 )          ; <i32> [#uses=0]
        ret i32 0

loopexit.0.loopexit1:           ; preds = %loopentry.1
        br label %loopexit.0

loopexit.0:             ; preds = %loopexit.0.loopexit1
        ret i32 0
}

declare i32 @wins(i32, i32, i32)

declare i16 @ab_code()

