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