199 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			LLVM
		
	
	
	
			
		
		
	
	
			199 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			LLVM
		
	
	
	
; RUN: opt < %s -loop-extract -disable-output
 | 
						|
 | 
						|
declare i32 @_IO_getc()
 | 
						|
 | 
						|
declare void @__errno_location()
 | 
						|
 | 
						|
define void @yylex() personality i32 (...)* @__gcc_personality_v0 {
 | 
						|
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 }
 | 
						|
                 catch i8* null
 | 
						|
	ret void
 | 
						|
}
 | 
						|
 | 
						|
declare i32 @__gcc_personality_v0(...)
 |