; RUN: opt < %s -loop-extract -disable-output

declare i32 @_IO_getc()

declare void @__errno_location()

define void @yylex() {
entry:
	switch i32 0, label %label.126 [
		 i32 0, label %return
		 i32 61, label %combine
		 i32 33, label %combine
		 i32 94, label %combine
		 i32 37, label %combine
		 i32 47, label %combine
		 i32 42, label %combine
		 i32 62, label %combine
		 i32 60, label %combine
		 i32 58, label %combine
		 i32 124, label %combine
		 i32 38, label %combine
		 i32 45, label %combine
		 i32 43, label %combine
		 i32 34, label %string_constant
		 i32 39, label %char_constant
		 i32 46, label %loopexit.2
		 i32 57, label %loopexit.2
		 i32 56, label %loopexit.2
		 i32 55, label %loopexit.2
		 i32 54, label %loopexit.2
		 i32 53, label %loopexit.2
		 i32 52, label %loopexit.2
		 i32 51, label %loopexit.2
		 i32 50, label %loopexit.2
		 i32 49, label %loopexit.2
		 i32 48, label %loopexit.2
		 i32 95, label %letter
		 i32 122, label %letter
		 i32 121, label %letter
		 i32 120, label %letter
		 i32 119, label %letter
		 i32 118, label %letter
		 i32 117, label %letter
		 i32 116, label %letter
		 i32 115, label %letter
		 i32 114, label %letter
		 i32 113, label %letter
		 i32 112, label %letter
		 i32 111, label %letter
		 i32 110, label %letter
		 i32 109, label %letter
		 i32 108, label %letter
		 i32 107, label %letter
		 i32 106, label %letter
		 i32 105, label %letter
		 i32 104, label %letter
		 i32 103, label %letter
		 i32 102, label %letter
		 i32 101, label %letter
		 i32 100, label %letter
		 i32 99, label %letter
		 i32 98, label %letter
		 i32 97, label %letter
		 i32 90, label %letter
		 i32 89, label %letter
		 i32 88, label %letter
		 i32 87, label %letter
		 i32 86, label %letter
		 i32 85, label %letter
		 i32 84, label %letter
		 i32 83, label %letter
		 i32 82, label %letter
		 i32 81, label %letter
		 i32 80, label %letter
		 i32 79, label %letter
		 i32 78, label %letter
		 i32 77, label %letter
		 i32 75, label %letter
		 i32 74, label %letter
		 i32 73, label %letter
		 i32 72, label %letter
		 i32 71, label %letter
		 i32 70, label %letter
		 i32 69, label %letter
		 i32 68, label %letter
		 i32 67, label %letter
		 i32 66, label %letter
		 i32 65, label %letter
		 i32 64, label %label.13
		 i32 76, label %label.12
		 i32 36, label %label.11
		 i32 -1, label %label.10
	]

label.10:		; preds = %entry
	ret void

label.11:		; preds = %entry
	ret void

label.12:		; preds = %entry
	ret void

label.13:		; preds = %entry
	ret void

letter:		; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry
	ret void

loopexit.2:		; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry
	switch i32 0, label %shortcirc_next.14 [
		 i32 48, label %then.20
		 i32 46, label %endif.38
	]

then.20:		; preds = %loopexit.2
	switch i32 0, label %else.4 [
		 i32 120, label %then.21
		 i32 88, label %then.21
	]

then.21:		; preds = %then.20, %then.20
	ret void

else.4:		; preds = %then.20
	ret void

shortcirc_next.14:		; preds = %loopexit.2
	ret void

endif.38:		; preds = %loopexit.2
	br i1 false, label %then.40, label %then.39

then.39:		; preds = %endif.38
	ret void

then.40:		; preds = %endif.38
	invoke void @__errno_location( )
			to label %switchexit.2 unwind label %LongJmpBlkPre

loopentry.6:		; preds = %endif.52
	switch i32 0, label %switchexit.2 [
		 i32 73, label %label.82
		 i32 105, label %label.82
		 i32 76, label %label.80
		 i32 108, label %label.80
		 i32 70, label %label.78
		 i32 102, label %label.78
	]

label.78:		; preds = %loopentry.6, %loopentry.6
	ret void

label.80:		; preds = %loopentry.6, %loopentry.6
	ret void

label.82:		; preds = %loopentry.6, %loopentry.6
	%c.0.15.5 = phi i32 [ %tmp.79417, %loopentry.6 ], [ %tmp.79417, %loopentry.6 ]		; <i32> [#uses=0]
	ret void

switchexit.2:		; preds = %loopentry.6, %then.40
	br i1 false, label %endif.51, label %loopexit.6

endif.51:		; preds = %switchexit.2
	br i1 false, label %endif.52, label %then.52

then.52:		; preds = %endif.51
	ret void

endif.52:		; preds = %endif.51
	%tmp.79417 = invoke i32 @_IO_getc( )
			to label %loopentry.6 unwind label %LongJmpBlkPre		; <i32> [#uses=2]

loopexit.6:		; preds = %switchexit.2
	ret void

char_constant:		; preds = %entry
	ret void

string_constant:		; preds = %entry
	ret void

combine:		; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry
	ret void

label.126:		; preds = %entry
	ret void

return:		; preds = %entry
	ret void

LongJmpBlkPre:		; preds = %endif.52, %then.40
        %exn = landingpad { i8*, i32 } personality i32 (...)* @__gcc_personality_v0
                 catch i8* null
	ret void
}

declare i32 @__gcc_personality_v0(...)
