1 ; RUN: llc -mtriple=x86_64-pc-windows-msvc -code-model=large -o - < %s | FileCheck %s 2 3 declare i32 @__CxxFrameHandler3(...) 4 5 declare void @bar() 6 7 define void @foo() personality i32 (...)* @__CxxFrameHandler3 { 8 entry: 9 invoke void @bar() 10 to label %exit unwind label %cleanup 11 cleanup: 12 %c = cleanuppad within none [] 13 call void @bar() [ "funclet"(token %c) ] 14 cleanupret from %c unwind to caller 15 exit: 16 ret void 17 } 18 19 ; CHECK: foo: # @foo 20 ; CHECK: movabsq $bar, %[[reg:[^ ]*]] 21 ; CHECK: callq *%[[reg]] 22 ; CHECK: retq 23 24 ; CHECK: "?dtor$2@?0?foo@4HA": 25 ; CHECK: movabsq $bar, %[[reg:[^ ]*]] 26 ; CHECK: callq *%[[reg]] 27 ; CHECK: retq # CLEANUPRET 28