; RUN: opt < %s -indvars -S | grep sext | count 1
; ModuleID = '<stdin>'

	%struct.App1Marker = type <{ i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 }>
	%struct.ComponentInstanceRecord = type <{ [1 x i32] }>
	%struct.DCPredictors = type { [5 x i16] }
	%struct.DecodeTable = type { i16, i16, i16, i16, i8**, i8** }
	%struct.ICMDataProcRecord = type <{ i16 (i8**, i32, i32)*, i32 }>
	%struct.JPEGBitStream = type { i8*, i32, i32, i32, i32, i32, %struct.App1Marker*, i8*, i32, i16, i16, i32 }
	%struct.JPEGGlobals = type { [2048 x i8], %struct.JPEGBitStream, i8*, i32, i32, %struct.ComponentInstanceRecord*, %struct.ComponentInstanceRecord*, i32, %struct.OpaqueQTMLMutex*, %struct.Rect, i32, i32, %struct.SharedGlobals, %struct.DCPredictors, i8, i8, void (i8*, i16**, i32, %struct.YUVGeneralParams*)*, %struct.YUVGeneralParams, i16, i16, i32, [5 x i16*], [5 x %struct.DecodeTable*], [5 x %struct.DecodeTable*], [5 x i8], [5 x i8], [4 x [65 x i16]], [4 x %struct.DecodeTable], [4 x %struct.DecodeTable], [4 x i8*], [4 x i8*], i16, i16, i32, i8**, i8**, i8**, i8**, i8**, i8**, i8**, i8**, i8**, i8**, [18 x i8], [18 x i8], [18 x i8], [18 x i8], i32, i32, i8**, i8**, i8, i8, i8, i8, i16, i16, %struct.App1Marker*, i8, i8, i8, i8, i32**, i8*, i16*, i8*, i16*, i8, [3 x i8], i32, [3 x i32], [3 x i32], [3 x i32], [3 x i32], [3 x i32], [3 x i16*], [3 x i16*], [3 x i8**], [3 x %struct.DecodeTable*], [3 x %struct.DecodeTable*], [3 x i32], i32, [3 x i16*], i32, i32, i32, [3 x i32], i8, i8, i8, i8, %struct.ICMDataProcRecord*, i32, i32, i8**, i8**, i8**, i8**, i32, i32, i8*, i32, i32, i16*, i16*, i8*, i32, i32, i32, i32, i32, i32, i32, [16 x <2 x i64>], [1280 x i8], i8 }
	%struct.OpaqueQTMLMutex = type opaque
	%struct.Rect = type { i16, i16, i16, i16 }
	%struct.SharedDGlobals = type { %struct.DecodeTable, %struct.DecodeTable, %struct.DecodeTable, %struct.DecodeTable }
	%struct.SharedEGlobals = type { i8**, i8**, i8**, i8** }
	%struct.SharedGlobals = type { %struct.SharedEGlobals*, %struct.SharedDGlobals* }
	%struct.YUVGeneralParams = type { i16*, i8*, i8*, i8*, i8*, i8*, void (i8*, i16**, i32, %struct.YUVGeneralParams*)*, i16, i16, i16, [6 x i8], void (i8*, i16**, i32, %struct.YUVGeneralParams*)*, i16, i16 }
@llvm.used = appending global [1 x i8*] [ i8* bitcast (i16 (%struct.JPEGGlobals*)* @ExtractBufferedBlocksIgnored to i8*) ], section "llvm.metadata"		; <[1 x i8*]*> [#uses=0]

define i16 @ExtractBufferedBlocksIgnored(%struct.JPEGGlobals* %globp) signext nounwind {
entry:
	%tmp4311 = getelementptr %struct.JPEGGlobals* %globp, i32 0, i32 70		; <i32*> [#uses=1]
	%tmp4412 = load i32* %tmp4311, align 16		; <i32> [#uses=2]
	%tmp4613 = icmp sgt i32 %tmp4412, 0		; <i1> [#uses=1]
	br i1 %tmp4613, label %bb, label %bb49

bb:		; preds = %bb28, %entry
	%component.09 = phi i16 [ 0, %entry ], [ %tmp37, %bb28 ]		; <i16> [#uses=2]
	%tmp12 = sext i16 %component.09 to i32		; <i32> [#uses=2]
	%tmp6 = getelementptr %struct.JPEGGlobals* %globp, i32 0, i32 77, i32 %tmp12		; <i16**> [#uses=2]
	%tmp7 = load i16** %tmp6, align 4		; <i16*> [#uses=2]
	%tmp235 = getelementptr %struct.JPEGGlobals* %globp, i32 0, i32 71, i32 %tmp12		; <i32*> [#uses=1]
	%tmp246 = load i32* %tmp235, align 4		; <i32> [#uses=2]
	%tmp267 = icmp sgt i32 %tmp246, 0		; <i1> [#uses=1]
	br i1 %tmp267, label %bb8, label %bb28

bb8:		; preds = %bb8, %bb
	%indvar = phi i32 [ 0, %bb ], [ %indvar.next2, %bb8 ]		; <i32> [#uses=3]
	%theDCTBufferIter.01.rec = shl i32 %indvar, 6		; <i32> [#uses=1]
	%tmp10.rec = add i32 %theDCTBufferIter.01.rec, 64		; <i32> [#uses=1]
	%tmp10 = getelementptr i16* %tmp7, i32 %tmp10.rec		; <i16*> [#uses=1]
	%i.02 = trunc i32 %indvar to i16		; <i16> [#uses=1]
	%tmp13 = add i16 %i.02, 1		; <i16> [#uses=1]
	%phitmp = sext i16 %tmp13 to i32		; <i32> [#uses=1]
	%tmp26 = icmp slt i32 %phitmp, %tmp246		; <i1> [#uses=1]
	%indvar.next2 = add i32 %indvar, 1		; <i32> [#uses=1]
	br i1 %tmp26, label %bb8, label %bb28

bb28:		; preds = %bb8, %bb
	%theDCTBufferIter.0.lcssa = phi i16* [ %tmp7, %bb ], [ %tmp10, %bb8 ]		; <i16*> [#uses=1]
	store i16* %theDCTBufferIter.0.lcssa, i16** %tmp6, align 4
	%tmp37 = add i16 %component.09, 1		; <i16> [#uses=2]
	%phitmp15 = sext i16 %tmp37 to i32		; <i32> [#uses=1]
	%tmp46 = icmp slt i32 %phitmp15, 42		; <i1> [#uses=1]
	br i1 %tmp46, label %bb, label %bb49

bb49:		; preds = %bb28, %entry
	ret i16 0
}
