; PR 1200
; RUN: llvm-as < %s | llc -enable-tail-merge=0 | not grep jmp 

; ModuleID = '<stdin>'
target datalayout = "e-p:32:32"
target triple = "i686-apple-darwin8"
	%struct.FILE = type { i8*, i32, i32, i16, i16, %struct.__sbuf, i32, i8*, i32 (i8*)*, i32 (i8*, i8*, i32)*, i64 (i8*, i64, i32)*, i32 (i8*, i8*, i32)*, %struct.__sbuf, %struct.__sFILEX*, i32, [3 x i8], [1 x i8], %struct.__sbuf, i32, i64 }
	%struct.Index_Map = type { i32, %struct.item_set** }
	%struct.Item = type { [4 x i16], %struct.rule* }
	%struct.__sFILEX = type opaque
	%struct.__sbuf = type { i8*, i32 }
	%struct.dimension = type { i16*, %struct.Index_Map, %struct.mapping*, i32, %struct.plankMap* }
	%struct.item_set = type { i32, i32, %struct.operator*, [2 x %struct.item_set*], %struct.item_set*, i16*, %struct.Item*, %struct.Item* }
	%struct.list = type { i8*, %struct.list* }
	%struct.mapping = type { %struct.list**, i32, i32, i32, %struct.item_set** }
	%struct.nonterminal = type { i8*, i32, i32, i32, %struct.plankMap*, %struct.rule* }
	%struct.operator = type { i8*, i8, i32, i32, i32, i32, %struct.table* }
	%struct.pattern = type { %struct.nonterminal*, %struct.operator*, [2 x %struct.nonterminal*] }
	%struct.plank = type { i8*, %struct.list*, i32 }
	%struct.plankMap = type { %struct.list*, i32, %struct.stateMap* }
	%struct.rule = type { [4 x i16], i32, i32, i32, %struct.nonterminal*, %struct.pattern*, i8 }
	%struct.stateMap = type { i8*, %struct.plank*, i32, i16* }
	%struct.table = type { %struct.operator*, %struct.list*, i16*, [2 x %struct.dimension*], %struct.item_set** }
@outfile = external global %struct.FILE*		; <%struct.FILE**> [#uses=1]
@str1 = external global [11 x i8]		; <[11 x i8]*> [#uses=1]

declare i32 @fprintf(%struct.FILE*, i8*, ...)

define i16 @main_bb_2E_i9_2E_i_2E_i932_2E_ce(%struct.list* %l_addr.01.0.i2.i.i929, %struct.operator** %tmp66.i62.i.out) {
newFuncRoot:
	br label %bb.i9.i.i932.ce

NewDefault:		; preds = %LeafBlock, %LeafBlock1, %LeafBlock2, %LeafBlock3
	br label %bb36.i.i.exitStub

bb36.i.i.exitStub:		; preds = %NewDefault
	store %struct.operator* %tmp66.i62.i, %struct.operator** %tmp66.i62.i.out
	ret i16 0

bb.i14.i.exitStub:		; preds = %LeafBlock
	store %struct.operator* %tmp66.i62.i, %struct.operator** %tmp66.i62.i.out
	ret i16 1

bb12.i.i935.exitStub:		; preds = %LeafBlock1
	store %struct.operator* %tmp66.i62.i, %struct.operator** %tmp66.i62.i.out
	ret i16 2

bb20.i.i937.exitStub:		; preds = %LeafBlock2
	store %struct.operator* %tmp66.i62.i, %struct.operator** %tmp66.i62.i.out
	ret i16 3

bb28.i.i938.exitStub:		; preds = %LeafBlock3
	store %struct.operator* %tmp66.i62.i, %struct.operator** %tmp66.i62.i.out
	ret i16 4

bb.i9.i.i932.ce:		; preds = %newFuncRoot
	%tmp1.i3.i.i930 = getelementptr %struct.list* %l_addr.01.0.i2.i.i929, i32 0, i32 0		; <i8**> [#uses=1]
	%tmp2.i4.i.i931 = load i8** %tmp1.i3.i.i930		; <i8*> [#uses=1]
	%tmp66.i62.i = bitcast i8* %tmp2.i4.i.i931 to %struct.operator*		; <%struct.operator*> [#uses=7]
	%tmp1.i6.i = getelementptr %struct.operator* %tmp66.i62.i, i32 0, i32 2		; <i32*> [#uses=1]
	%tmp2.i7.i = load i32* %tmp1.i6.i		; <i32> [#uses=1]
	%tmp3.i8.i = load %struct.FILE** @outfile		; <%struct.FILE*> [#uses=1]
	%tmp5.i9.i = call i32 (%struct.FILE*, i8*, ...)* @fprintf( %struct.FILE* %tmp3.i8.i, i8* getelementptr ([11 x i8]* @str1, i32 0, i32 0), i32 %tmp2.i7.i )		; <i32> [#uses=0]
	%tmp7.i10.i = getelementptr %struct.operator* %tmp66.i62.i, i32 0, i32 5		; <i32*> [#uses=1]
	%tmp8.i11.i = load i32* %tmp7.i10.i		; <i32> [#uses=7]
	br label %NodeBlock5

NodeBlock5:		; preds = %bb.i9.i.i932.ce
	icmp slt i32 %tmp8.i11.i, 1		; <i1>:0 [#uses=1]
	br i1 %0, label %NodeBlock, label %NodeBlock4

NodeBlock4:		; preds = %NodeBlock5
	icmp slt i32 %tmp8.i11.i, 2		; <i1>:1 [#uses=1]
	br i1 %1, label %LeafBlock2, label %LeafBlock3

LeafBlock3:		; preds = %NodeBlock4
	icmp eq i32 %tmp8.i11.i, 2		; <i1>:2 [#uses=1]
	br i1 %2, label %bb28.i.i938.exitStub, label %NewDefault

LeafBlock2:		; preds = %NodeBlock4
	icmp eq i32 %tmp8.i11.i, 1		; <i1>:3 [#uses=1]
	br i1 %3, label %bb20.i.i937.exitStub, label %NewDefault

NodeBlock:		; preds = %NodeBlock5
	icmp slt i32 %tmp8.i11.i, 0		; <i1>:4 [#uses=1]
	br i1 %4, label %LeafBlock, label %LeafBlock1

LeafBlock1:		; preds = %NodeBlock
	icmp eq i32 %tmp8.i11.i, 0		; <i1>:5 [#uses=1]
	br i1 %5, label %bb12.i.i935.exitStub, label %NewDefault

LeafBlock:		; preds = %NodeBlock
	icmp eq i32 %tmp8.i11.i, -1		; <i1>:6 [#uses=1]
	br i1 %6, label %bb.i14.i.exitStub, label %NewDefault
}
