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
|
||
|
}
|