mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-11-04 05:17:07 +00:00 
			
		
		
		
	input filename so that opt doesn't print the input filename in the output so that grep lines in the tests don't unintentionally match strings in the input filename. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81537 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			76 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			LLVM
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			LLVM
		
	
	
	
	
	
; RUN: opt < %s -loop-extract -disable-output
 | 
						|
 | 
						|
define void @solve() {
 | 
						|
entry:
 | 
						|
	br label %loopentry.0
 | 
						|
 | 
						|
loopentry.0:		; preds = %endif.0, %entry
 | 
						|
	br i1 false, label %no_exit.0, label %loopexit.0
 | 
						|
 | 
						|
no_exit.0:		; preds = %loopentry.0
 | 
						|
	br i1 false, label %then.0, label %endif.0
 | 
						|
 | 
						|
then.0:		; preds = %no_exit.0
 | 
						|
	br i1 false, label %shortcirc_done, label %shortcirc_next
 | 
						|
 | 
						|
shortcirc_next:		; preds = %then.0
 | 
						|
	br label %shortcirc_done
 | 
						|
 | 
						|
shortcirc_done:		; preds = %shortcirc_next, %then.0
 | 
						|
	br i1 false, label %then.1, label %endif.1
 | 
						|
 | 
						|
then.1:		; preds = %shortcirc_done
 | 
						|
	br i1 false, label %cond_true, label %cond_false
 | 
						|
 | 
						|
cond_true:		; preds = %then.1
 | 
						|
	br label %cond_continue
 | 
						|
 | 
						|
cond_false:		; preds = %then.1
 | 
						|
	br label %cond_continue
 | 
						|
 | 
						|
cond_continue:		; preds = %cond_false, %cond_true
 | 
						|
	br label %return
 | 
						|
 | 
						|
after_ret.0:		; No predecessors!
 | 
						|
	br label %endif.1
 | 
						|
 | 
						|
endif.1:		; preds = %after_ret.0, %shortcirc_done
 | 
						|
	br label %endif.0
 | 
						|
 | 
						|
endif.0:		; preds = %endif.1, %no_exit.0
 | 
						|
	br label %loopentry.0
 | 
						|
 | 
						|
loopexit.0:		; preds = %loopentry.0
 | 
						|
	br i1 false, label %then.2, label %endif.2
 | 
						|
 | 
						|
then.2:		; preds = %loopexit.0
 | 
						|
	br i1 false, label %then.3, label %endif.3
 | 
						|
 | 
						|
then.3:		; preds = %then.2
 | 
						|
	br label %return
 | 
						|
 | 
						|
after_ret.1:		; No predecessors!
 | 
						|
	br label %endif.3
 | 
						|
 | 
						|
endif.3:		; preds = %after_ret.1, %then.2
 | 
						|
	br label %endif.2
 | 
						|
 | 
						|
endif.2:		; preds = %endif.3, %loopexit.0
 | 
						|
	br label %loopentry.1
 | 
						|
 | 
						|
loopentry.1:		; preds = %no_exit.1, %endif.2
 | 
						|
	br i1 false, label %no_exit.1, label %loopexit.1
 | 
						|
 | 
						|
no_exit.1:		; preds = %loopentry.1
 | 
						|
	br label %loopentry.1
 | 
						|
 | 
						|
loopexit.1:		; preds = %loopentry.1
 | 
						|
	br label %return
 | 
						|
 | 
						|
after_ret.2:		; No predecessors!
 | 
						|
	br label %return
 | 
						|
 | 
						|
return:		; preds = %after_ret.2, %loopexit.1, %then.3, %cond_continue
 | 
						|
	ret void
 | 
						|
}
 |