; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc-apple-darwin

	%struct.HDescriptor = type <{ i32, i32 }>

declare void @bcopy(i8*, i8*, i32)

define i32 @main(i32 %argc, i8** %argv) {
entry:
	br i1 false, label %bb31, label %bb

bb:		; preds = %entry
	ret i32 -6

bb31:		; preds = %entry
	switch i32 0, label %bb189 [
		 i32 73, label %cond_next209
		 i32 74, label %bb74
		 i32 77, label %bb57
		 i32 78, label %cond_next209
		 i32 85, label %cond_next209
		 i32 97, label %cond_next209
		 i32 100, label %cond_next209
		 i32 107, label %cond_next209
		 i32 109, label %bb57
		 i32 112, label %bb43
		 i32 115, label %cond_next209
		 i32 117, label %bb51
	]

bb43:		; preds = %bb31
	br i1 false, label %cond_true48, label %cond_true200.critedge2117

cond_true48:		; preds = %bb43
	br i1 false, label %cond_next372, label %AllDone

bb51:		; preds = %bb31
	ret i32 0

bb57:		; preds = %bb31, %bb31
	ret i32 0

bb74:		; preds = %bb31
	ret i32 0

bb189:		; preds = %bb31
	ret i32 0

cond_true200.critedge2117:		; preds = %bb43
	ret i32 0

cond_next209:		; preds = %bb31, %bb31, %bb31, %bb31, %bb31, %bb31, %bb31
	ret i32 0

cond_next372:		; preds = %cond_true48
	switch i32 0, label %bb1728 [
		 i32 73, label %bb1723
		 i32 74, label %cond_true1700
		 i32 78, label %bb1718
		 i32 85, label %bb1713
		 i32 97, label %bb1620
		 i32 107, label %AllDone
		 i32 112, label %cond_next423
		 i32 117, label %cond_next1453
	]

cond_next423:		; preds = %cond_next372
	switch i16 0, label %cond_next691 [
		 i16 18475, label %cond_next807
		 i16 18520, label %cond_next807
	]

cond_next691:		; preds = %cond_next423
	ret i32 0

cond_next807:		; preds = %cond_next423, %cond_next423
	switch i16 0, label %cond_true1192 [
		 i16 18475, label %cond_next21.i
		 i16 18520, label %cond_next21.i
	]

cond_next21.i:		; preds = %cond_next807, %cond_next807
	br i1 false, label %cond_next934, label %free.i

free.i:		; preds = %cond_next21.i
	ret i32 0

cond_next934:		; preds = %bb1005, %cond_next21.i
	%listsize.1 = phi i32 [ 0, %bb1005 ], [ 64, %cond_next21.i ]		; <i32> [#uses=1]
	%catalogExtents.2 = phi %struct.HDescriptor* [ %catalogExtents.1.reg2mem.1, %bb1005 ], [ null, %cond_next21.i ]		; <%struct.HDescriptor*> [#uses=3]
	br i1 false, label %cond_next942, label %Return1020

cond_next942:		; preds = %cond_next934
	br i1 false, label %bb1005, label %bb947

bb947:		; preds = %cond_next971, %cond_next942
	%indvar = phi i32 [ 0, %cond_next942 ], [ %indvar.next2140, %cond_next971 ]		; <i32> [#uses=2]
	%catalogExtents.1.reg2mem.0 = phi %struct.HDescriptor* [ %catalogExtents.2, %cond_next942 ], [ %tmp977978, %cond_next971 ]		; <%struct.HDescriptor*> [#uses=1]
	%extents.0.reg2mem.0 = phi %struct.HDescriptor* [ null, %cond_next942 ], [ %tmp977978, %cond_next971 ]		; <%struct.HDescriptor*> [#uses=1]
	br i1 false, label %cond_next971, label %Return1020

cond_next971:		; preds = %bb947
	%tmp = shl i32 %indvar, 6		; <i32> [#uses=1]
	%listsize.0.reg2mem.0 = add i32 %tmp, %listsize.1		; <i32> [#uses=1]
	%tmp973 = add i32 %listsize.0.reg2mem.0, 64		; <i32> [#uses=1]
	%tmp974975 = bitcast %struct.HDescriptor* %extents.0.reg2mem.0 to i8*		; <i8*> [#uses=1]
	%tmp977 = call i8* @realloc( i8* %tmp974975, i32 %tmp973 )		; <i8*> [#uses=1]
	%tmp977978 = bitcast i8* %tmp977 to %struct.HDescriptor*		; <%struct.HDescriptor*> [#uses=3]
	call void @bcopy( i8* null, i8* null, i32 64 )
	%indvar.next2140 = add i32 %indvar, 1		; <i32> [#uses=1]
	br i1 false, label %bb1005, label %bb947

bb1005:		; preds = %cond_next971, %cond_next942
	%catalogExtents.1.reg2mem.1 = phi %struct.HDescriptor* [ %catalogExtents.2, %cond_next942 ], [ %tmp977978, %cond_next971 ]		; <%struct.HDescriptor*> [#uses=2]
	br i1 false, label %Return1020, label %cond_next934

Return1020:		; preds = %bb1005, %bb947, %cond_next934
	%catalogExtents.3 = phi %struct.HDescriptor* [ %catalogExtents.1.reg2mem.0, %bb947 ], [ %catalogExtents.2, %cond_next934 ], [ %catalogExtents.1.reg2mem.1, %bb1005 ]		; <%struct.HDescriptor*> [#uses=0]
	ret i32 0

cond_true1192:		; preds = %cond_next807
	ret i32 0

cond_next1453:		; preds = %cond_next372
	ret i32 0

bb1620:		; preds = %cond_next372
	ret i32 0

cond_true1700:		; preds = %cond_next372
	ret i32 0

bb1713:		; preds = %cond_next372
	ret i32 0

bb1718:		; preds = %cond_next372
	ret i32 0

bb1723:		; preds = %cond_next372
	ret i32 0

bb1728:		; preds = %cond_next372
	ret i32 -6

AllDone:		; preds = %cond_next372, %cond_true48
	ret i32 0
}

declare i8* @realloc(i8*, i32)
