Old high school files. Lessson notes/codes/projects etc.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

81 lines
4.3 KiB

; ModuleID = 'probe4.57d1ae84-cgu.0'
source_filename = "probe4.57d1ae84-cgu.0"
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
%"core::panic::location::Location" = type { { [0 x i8]*, i64 }, i32, i32 }
@alloc2 = private unnamed_addr constant <{ [4 x i8] }> <{ [4 x i8] c"\02\00\00\00" }>, align 4
@alloc3 = private unnamed_addr constant <{ [77 x i8] }> <{ [77 x i8] c"/rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/ops/arith.rs" }>, align 1
@alloc4 = private unnamed_addr constant <{ i8*, [16 x i8] }> <{ i8* getelementptr inbounds (<{ [77 x i8] }>, <{ [77 x i8] }>* @alloc3, i32 0, i32 0, i32 0), [16 x i8] c"M\00\00\00\00\00\00\00\12\03\00\00\01\00\00\00" }>, align 8
@str.0 = internal constant [28 x i8] c"attempt to add with overflow"
; probe4::probe
; Function Attrs: nonlazybind uwtable
define void @_ZN6probe45probe17h59d61b1463a3543cE() unnamed_addr #0 {
start:
%x = alloca i32, align 4
store i32 1, i32* %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_assign17hdddf1ff101fa1d44E"(i32* noundef align 4 dereferenceable(4) %x, i32* noundef align 4 dereferenceable(4) bitcast (<{ [4 x i8] }>* @alloc2 to i32*))
br label %bb1
bb1: ; preds = %start
ret void
}
; <i32 as core::ops::arith::AddAssign>::add_assign
; Function Attrs: inlinehint nonlazybind uwtable
define internal void @"_ZN51_$LT$i32$u20$as$u20$core..ops..arith..AddAssign$GT$10add_assign17hdd174b650fec48a0E"(i32* noundef align 4 dereferenceable(4) %self, i32 %other) unnamed_addr #1 {
start:
%0 = load i32, i32* %self, align 4
%1 = call { i32, i1 } @llvm.sadd.with.overflow.i32(i32 %0, i32 %other)
%_4.0 = extractvalue { i32, i1 } %1, 0
%_4.1 = extractvalue { i32, i1 } %1, 1
%2 = call i1 @llvm.expect.i1(i1 %_4.1, i1 false)
br i1 %2, label %panic, label %bb1
bb1: ; preds = %start
store i32 %_4.0, i32* %self, align 4
ret void
panic: ; preds = %start
; call core::panicking::panic
call void @_ZN4core9panicking5panic17h4241c5ccea17facaE([0 x i8]* noundef nonnull align 1 bitcast ([28 x i8]* @str.0 to [0 x i8]*), i64 28, %"core::panic::location::Location"* noundef align 8 dereferenceable(24) bitcast (<{ i8*, [16 x i8] }>* @alloc4 to %"core::panic::location::Location"*)) #5
unreachable
}
; <i32 as core::ops::arith::AddAssign<&i32>>::add_assign
; Function Attrs: inlinehint nonlazybind uwtable
define internal void @"_ZN66_$LT$i32$u20$as$u20$core..ops..arith..AddAssign$LT$$RF$i32$GT$$GT$10add_assign17hdddf1ff101fa1d44E"(i32* noundef align 4 dereferenceable(4) %self, i32* noundef align 4 dereferenceable(4) %other) unnamed_addr #1 {
start:
%_5 = load i32, i32* %other, align 4
; call <i32 as core::ops::arith::AddAssign>::add_assign
call void @"_ZN51_$LT$i32$u20$as$u20$core..ops..arith..AddAssign$GT$10add_assign17hdd174b650fec48a0E"(i32* noundef align 4 dereferenceable(4) %self, i32 %_5)
br label %bb1
bb1: ; preds = %start
ret void
}
; Function Attrs: nofree nosync nounwind readnone speculatable willreturn
declare { i32, i1 } @llvm.sadd.with.overflow.i32(i32, i32) #2
; Function Attrs: nofree nosync nounwind readnone willreturn
declare i1 @llvm.expect.i1(i1, i1) #3
; core::panicking::panic
; Function Attrs: cold noinline noreturn nonlazybind uwtable
declare void @_ZN4core9panicking5panic17h4241c5ccea17facaE([0 x i8]* noundef nonnull align 1, i64, %"core::panic::location::Location"* noundef align 8 dereferenceable(24)) unnamed_addr #4
attributes #0 = { nonlazybind uwtable "probe-stack"="__rust_probestack" "target-cpu"="x86-64" }
attributes #1 = { inlinehint nonlazybind uwtable "probe-stack"="__rust_probestack" "target-cpu"="x86-64" }
attributes #2 = { nofree nosync nounwind readnone speculatable willreturn }
attributes #3 = { nofree nosync nounwind readnone willreturn }
attributes #4 = { cold noinline noreturn nonlazybind uwtable "probe-stack"="__rust_probestack" "target-cpu"="x86-64" }
attributes #5 = { noreturn }
!llvm.module.flags = !{!0, !1}
!0 = !{i32 7, !"PIC Level", i32 2}
!1 = !{i32 2, !"RtLibUseGOT", i32 1}