; ModuleID = 'probe5.5f900e4982e86db1-cgu.0'
source_filename = "probe5.5f900e4982e86db1-cgu.0"
target datalayout = "E-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32"
target triple = "aarch64_be-unknown-netbsd"

@alloc_a7368e97f3615923ea42c1bc10097a59 = private unnamed_addr constant <{ [4 x i8] }> <{ [4 x i8] c"\00\00\00\02" }>, align 4
@alloc_e6758488a51c40069ade2309416f0500 = private unnamed_addr constant <{ [6 x i8] }> <{ [6 x i8] c"<anon>" }>, align 1
@alloc_53e5d2c614d59b542d277add177951db = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @alloc_e6758488a51c40069ade2309416f0500, [16 x i8] c"\00\00\00\00\00\00\00\06\00\00\00\01\00\00\00+" }>, align 8

; <i32 as core::ops::arith::AddAssign<&i32>>::add_assign
; Function Attrs: inlinehint uwtable
define internal void @"_ZN66_$LT$i32$u20$as$u20$core..ops..arith..AddAssign$LT$$RF$i32$GT$$GT$10add_assign17h7aa2cd8aef6a1572E"(ptr align 4 %self, ptr align 4 %other, ptr align 8 %0) unnamed_addr #0 {
start:
  %other1 = load i32, ptr %other, align 4
  %1 = load i32, ptr %self, align 4
  %2 = call { i32, i1 } @llvm.sadd.with.overflow.i32(i32 %1, i32 %other1)
  %_4.0 = extractvalue { i32, i1 } %2, 0
  %_4.1 = extractvalue { i32, i1 } %2, 1
  br i1 %_4.1, label %panic, label %bb1

bb1:                                              ; preds = %start
  store i32 %_4.0, ptr %self, align 4
  ret void

panic:                                            ; preds = %start
; call core::panicking::panic_const::panic_const_add_overflow
  call void @_ZN4core9panicking11panic_const24panic_const_add_overflow17hc5258784b00672c6E(ptr align 8 %0) #4
  unreachable
}

; probe5::probe
; Function Attrs: uwtable
define void @_ZN6probe55probe17hf42cd36a061d1421E() unnamed_addr #1 {
start:
  %x = alloca [4 x i8], align 4
  store i32 1, ptr %x, align 4
; call <i32 as core::ops::arith::AddAssign<&i32>>::add_assign
  call void @"_ZN66_$LT$i32$u20$as$u20$core..ops..arith..AddAssign$LT$$RF$i32$GT$$GT$10add_assign17h7aa2cd8aef6a1572E"(ptr align 4 %x, ptr align 4 @alloc_a7368e97f3615923ea42c1bc10097a59, ptr align 8 @alloc_53e5d2c614d59b542d277add177951db)
  ret void
}

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare { i32, i1 } @llvm.sadd.with.overflow.i32(i32, i32) #2

; core::panicking::panic_const::panic_const_add_overflow
; Function Attrs: cold noinline noreturn uwtable
declare void @_ZN4core9panicking11panic_const24panic_const_add_overflow17hc5258784b00672c6E(ptr align 8) unnamed_addr #3

attributes #0 = { inlinehint uwtable "probe-stack"="inline-asm" "target-cpu"="generic" }
attributes #1 = { uwtable "probe-stack"="inline-asm" "target-cpu"="generic" }
attributes #2 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #3 = { cold noinline noreturn uwtable "probe-stack"="inline-asm" "target-cpu"="generic" }
attributes #4 = { noreturn }

!llvm.module.flags = !{!0}
!llvm.ident = !{!1}

!0 = !{i32 8, !"PIC Level", i32 2}
!1 = !{!"rustc version 1.86.0 (05f9846f8 2025-03-31) (built from a source tarball)"}
