brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.5 KiB · f73eca9 Raw
55 lines · plain
1; RUN: llc -mtriple=x86_64-pc-windows-msvc < %s | FileCheck %s2; RUN: %if aarch64-registered-target %{ llc -mtriple=aarch64-pc-windows-msvc < %s | FileCheck %s %}3 4; Function Attrs: uwtable5define void @f() #0 personality ptr @__CxxFrameHandler3 {6entry:7  invoke void @g()8          to label %try.cont unwind label %catch.dispatch9 10catch.dispatch:                                   ; preds = %entry11  %0 = catchswitch within none [label %catch] unwind label %ehcleanup12 13catch:                                            ; preds = %catch.dispatch14  %1 = catchpad within %0 [ptr null, i32 64, ptr null]15  invoke void @g() [ "funclet"(token %1) ]16          to label %dtor.exit unwind label %catch.dispatch.i17 18catch.dispatch.i:                                 ; preds = %catch19  %2 = catchswitch within %1 [label %catch.i] unwind to caller20 21catch.i:                                          ; preds = %catch.dispatch.i22  %3 = catchpad within %2 [ptr null, i32 64, ptr null]23  catchret from %3 to label %dtor.exit24 25dtor.exit:26  catchret from %1 to label %try.cont27 28try.cont:29  ret void30 31ehcleanup:                                        ; preds = %catch.dispatch32  %4 = cleanuppad within none []33  call void @dtor() #1 [ "funclet"(token %4) ]34  cleanupret from %4 unwind to caller35}36 37declare void @g()38 39declare i32 @__CxxFrameHandler3(...)40 41; Function Attrs: nounwind42declare void @dtor() #143 44attributes #0 = { uwtable }45attributes #1 = { nounwind }46 47; CHECK-LABEL: $ip2state$f:48; CHECK: -149; CHECK: 150; CHECK: -151; CHECK: 452; CHECK: 253; CHECK: 354; CHECK: 255