aboutsummaryrefslogtreecommitdiff
path: root/llvm/test/CodeGen/AArch64/swift-error-unreachable-use.ll
blob: 9714636aee60bea3e50634999bd4d92ada33e423 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
; 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"(ptr 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 ptr], ptr undef, i32 undef, i32 undef
  %b = load ptr, ptr %a, align 8
  %c = bitcast ptr %b to ptr
  call void %c()
  br label %common.ret

thirtythree:
  br i1 false, label %UelOc2l.exit, label %thirtythree

thirtyeight:
  br i1 poison, label %thirtyeight, label %thirtythree
}

attributes #0 = { noinline optnone }