1; RUN: llc -mtriple=arm64-windows -o - %s | FileCheck %s 2 3declare void @f() 4declare void @g() 5 6; Function Attrs: nounwind 7define dso_local void @SEHfilter() nounwind "frame-pointer"="all" { 8; CHECK-LABEL: @SEHfilter 9; CHECK: %bb.0: 10; CHECK-NEXT: stp x30, x29, [sp, #-32]! 11; CHECK-NEXT: str x19, [sp, #16] 12; CHECK-NEXT: ldr w19, [x8] 13; CHECK-NEXT: mov x29, sp 14; CHECK-NEXT: bl g 15; CHECK-NEXT: cbz w19, .LBB0_2 16; CHECK-NEXT: // %bb.1: 17; CHECK-NEXT: ldr x19, [sp, #16] 18; CHECK-NEXT: ldp x30, x29, [sp], #32 19; CHECK-NEXT: ret 20; CHECK-NEXT: .LBB0_2: // %if.end.i 21; CHECK-NEXT: bl f 22; CHECK-NEXT: brk #0x1 23 %1 = load i32, ptr undef, align 4 24 tail call void @g() 25 %tobool.i = icmp eq i32 %1, 0 26 br i1 %tobool.i, label %if.end.i, label %exit 27 28if.end.i: 29 call void @f() 30 unreachable 31 32exit: 33 ret void 34} 35 36