| 
							
							; RUN: opt < %s -instcombine -S | grep "ret i32 1"
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							declare void @test2()
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							define i32 @test(i1 %cond, i32 *%P) {
 | 
						
						
						
						
							 | 
							
							  %A = alloca i32
 | 
						
						
						
						
							 | 
							
							  store i32 1, i32* %P
 | 
						
						
						
						
							 | 
							
							  store i32 1, i32* %A
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							  call void @test2() readonly
 | 
						
						
						
						
							 | 
							
							
 | 
						
						
						
						
							 | 
							
							  %P2 = select i1 %cond, i32 *%P, i32* %A
 | 
						
						
						
						
							 | 
							
							  %V = load i32, i32* %P2
 | 
						
						
						
						
							 | 
							
							  ret i32 %V
 | 
						
						
						
						
							 | 
							
							}
 |