brintos

brintos / llvm-project-archived public Read only

0
0
Text · 687 B · ad07740 Raw
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