; RUN: llc -mtriple=x86_64-pc-windows-msvc -code-model=large -relocation-model=static -o - < %s | FileCheck %s declare i32 @__CxxFrameHandler3(...) declare void @bar() define void @foo() personality i32 (...)* @__CxxFrameHandler3 { entry: invoke void @bar() to label %exit unwind label %cleanup cleanup: %c = cleanuppad within none [] call void @bar() [ "funclet"(token %c) ] cleanupret from %c unwind to caller exit: ret void } ; CHECK: foo: # @foo ; CHECK: movabsq $bar, %[[reg:[^ ]*]] ; CHECK: callq *%[[reg]] ; CHECK: retq ; CHECK: "?dtor$2@?0?foo@4HA": ; CHECK: movabsq $bar, %[[reg:[^ ]*]] ; CHECK: callq *%[[reg]] ; CHECK: retq # CLEANUPRET