23 lines
		
	
	
		
			382 B
		
	
	
	
		
			LLVM
		
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			382 B
		
	
	
	
		
			LLVM
		
	
	
	
; RUN: opt < %s -simple-loop-unswitch -disable-output
 | 
						|
 | 
						|
; PR38283
 | 
						|
; PR38737
 | 
						|
define void @Test(i32) {
 | 
						|
entry:
 | 
						|
  %trunc = trunc i32 %0 to i3
 | 
						|
  br label %outer
 | 
						|
outer:
 | 
						|
  br label %inner
 | 
						|
inner:
 | 
						|
  switch i3 %trunc, label %crit_edge [
 | 
						|
    i3 2, label %break
 | 
						|
    i3 1, label %loopexit
 | 
						|
  ]
 | 
						|
crit_edge:
 | 
						|
  br i1 true, label %loopexit, label %inner
 | 
						|
loopexit:
 | 
						|
  ret void
 | 
						|
break:
 | 
						|
  br label %outer
 | 
						|
}
 |