blob: 81fabc3f175c3310d880293f88297dd6ead9a122 [file] [log] [blame]
; RUN: llc -mtriple aarch64-unknown-windows-msvc %s -filetype asm -o - | FileCheck %s
; RUN: llc -mtriple aarch64-unknown-linux-gnu %s -filetype asm -o - | FileCheck %s
; RUN: llc -mtriple aarch64-apple-macosx %s -filetype asm -o - | FileCheck %s
; Regression test for https://github.com/llvm/llvm-project/issues/59751
define void @"func"(i32** swifterror %0) #0 {
; CHECK-LABEL: func:
; CHECK: {{.*}}%bb.0:
; CHECK-NEXT: b {{\.?}}LBB0_2
; CHECK-NEXT: {{\.?}}LBB0_1:{{.*}}%thirtythree
; CHECK-NEXT: {{.*}}=>This Inner Loop Header: Depth=1
; CHECK-NEXT: b {{\.?}}LBB0_1
; CHECK-NEXT: {{\.?}}LBB0_2:{{.*}}%thirtyeight
; CHECK-NEXT: b {{\.?}}LBB0_3
; CHECK-NEXT: {{\.?}}LBB0_3:{{.*}}%thirtythree.preheader
; CHECK-NEXT: b {{\.?}}LBB0_1
br label %thirtyeight
five:
br label %UelOc2l.exit
common.ret:
ret void
UelOc2l.exit:
%a = getelementptr inbounds [754 x i8*], [754 x i8*]* undef, i32 undef, i32 undef
%b = load i8*, i8** %a, align 8
%c = bitcast i8* %b to void ()*
call void %c()
br label %common.ret
thirtythree:
br i1 false, label %UelOc2l.exit, label %thirtythree
thirtyeight:
br i1 undef, label %thirtyeight, label %thirtythree
}
attributes #0 = { noinline optnone }