27 lines
		
	
	
		
			609 B
		
	
	
	
		
			LLVM
		
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			609 B
		
	
	
	
		
			LLVM
		
	
	
	
| ; RUN: llc < %s | FileCheck %s
 | |
| 
 | |
| target triple = "i686--windows-msvc"
 | |
| 
 | |
| declare { i8*, i32 } @param2_ret2(i32, i32)
 | |
| declare i32 @__CxxFrameHandler3(...)
 | |
| 
 | |
| 
 | |
| define void @test_reserved_regs() minsize optsize personality i32 (...)* @__CxxFrameHandler3 {
 | |
| ; CHECK-LABEL: test_reserved_regs:
 | |
| ; CHECK: calll _param2_ret2
 | |
| ; CHECK-NEXT: popl %ecx
 | |
| ; CHECK-NEXT: popl %edi
 | |
| start:
 | |
|   %s = alloca i64
 | |
|   store i64 4, i64* %s
 | |
|   %0 = invoke { i8*, i32 } @param2_ret2(i32 0, i32 1)
 | |
|           to label %out unwind label %cleanup
 | |
| 
 | |
| out:
 | |
|   ret void
 | |
| 
 | |
| cleanup:
 | |
|   %cp = cleanuppad within none []
 | |
|   cleanupret from %cp unwind to caller
 | |
| }
 |