; LoopSimplify is breaking LICM on this testcase because the exit blocks from
; the loop are reachable from more than just the exit nodes: the exit blocks
; have predecessors from outside of the loop!
;
; This is distilled from a monsterous crafty example.

; RUN: opt < %s -licm -disable-output


@G = weak global i32 0		; <i32*> [#uses=7]

define i32 @main() {
entry:
	store i32 123, i32* @G
	br label %loopentry.i
loopentry.i:		; preds = %endif.1.i, %entry
	%tmp.0.i = load i32* @G		; <i32> [#uses=1]
	%tmp.1.i = icmp eq i32 %tmp.0.i, 123		; <i1> [#uses=1]
	br i1 %tmp.1.i, label %Out.i, label %endif.0.i
endif.0.i:		; preds = %loopentry.i
	%tmp.3.i = load i32* @G		; <i32> [#uses=1]
	%tmp.4.i = icmp eq i32 %tmp.3.i, 126		; <i1> [#uses=1]
	br i1 %tmp.4.i, label %ExitBlock.i, label %endif.1.i
endif.1.i:		; preds = %endif.0.i
	%tmp.6.i = load i32* @G		; <i32> [#uses=1]
	%inc.i = add i32 %tmp.6.i, 1		; <i32> [#uses=1]
	store i32 %inc.i, i32* @G
	br label %loopentry.i
Out.i:		; preds = %loopentry.i
	store i32 0, i32* @G
	br label %ExitBlock.i
ExitBlock.i:		; preds = %Out.i, %endif.0.i
	%tmp.7.i = load i32* @G		; <i32> [#uses=1]
	ret i32 %tmp.7.i
}

