45 lines
		
	
	
		
			696 B
		
	
	
	
		
			LLVM
		
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			696 B
		
	
	
	
		
			LLVM
		
	
	
	
| ; RUN: opt < %s -mem2reg -S
 | |
| ; PR5023
 | |
| 
 | |
| declare i32 @test1f()
 | |
| 
 | |
| define i32 @test1() personality i32 (...)* @__gxx_personality_v0 {
 | |
| entry:
 | |
|   %whichFlag = alloca i32
 | |
|   %A = invoke i32 @test1f()
 | |
|           to label %invcont2 unwind label %lpad86
 | |
| 
 | |
| invcont2:
 | |
|   store i32 %A, i32* %whichFlag
 | |
|   br label %bb15
 | |
| 
 | |
| bb15:
 | |
|   %B = load i32, i32* %whichFlag
 | |
|   ret i32 %B
 | |
| 
 | |
| lpad86:
 | |
|   %exn = landingpad {i8*, i32}
 | |
|            cleanup
 | |
|   br label %bb15
 | |
|   
 | |
| }
 | |
| 
 | |
| declare i32 @__gxx_personality_v0(...)
 | |
| 
 | |
| 
 | |
| define i32 @test2() {
 | |
| entry:
 | |
|   %whichFlag = alloca i32
 | |
|   br label %bb15
 | |
| 
 | |
| bb15:
 | |
|   %B = load i32, i32* %whichFlag
 | |
|   ret i32 %B
 | |
| 
 | |
| invcont2:
 | |
|   %C = load i32, i32* %whichFlag
 | |
|   store i32 %C, i32* %whichFlag
 | |
|   br label %bb15
 | |
| }
 | |
| 
 |