; RUN: llvm-as < %s | opt -tailduplicate -disable-output

declare void %__main()

int %main() {
entry:		; No predecessors!
	call void %__main( )
	br label %loopentry

loopentry:		; preds = %entry, %no_exit
	%i.0 = phi int [ %inc, %no_exit ], [ 0, %entry ]		; <int> [#uses=2]
	%tmp.1 = setle int %i.0, 99		; <bool> [#uses=1]
	br bool %tmp.1, label %no_exit, label %return

no_exit:		; preds = %loopentry
	%tmp.51 = call int %main( )		; <int> [#uses=0]
	%inc = add int %i.0, 1		; <int> [#uses=1]
	br label %loopentry

return:		; preds = %loopentry
	ret int %i.0
}
