Skip to content

Instantly share code, notes, and snippets.

@certik
Created September 11, 2025 14:48
Show Gist options
  • Save certik/95d18a3da9a95dbc4742a2d4b9f9fbd2 to your computer and use it in GitHub Desktop.
Save certik/95d18a3da9a95dbc4742a2d4b9f9fbd2 to your computer and use it in GitHub Desktop.
; ModuleID = 'a.cpp'
source_filename = "a.cpp"
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128-Fn32"
target triple = "arm64-apple-macosx15.0.0"
%"class.std::__1::unique_ptr" = type { %"class.std::__1::__compressed_pair" }
%"class.std::__1::__compressed_pair" = type { %"struct.std::__1::__compressed_pair_elem" }
%"struct.std::__1::__compressed_pair_elem" = type { ptr }
%"struct.std::__1::__value_init_tag" = type { i8 }
; Function Attrs: mustprogress noinline optnone ssp uwtable(sync)
define void @_Z8describeR6base_t(ptr noundef nonnull align 1 dereferenceable(1) %0) #0 personality ptr @__gxx_personality_v0 {
%2 = alloca ptr, align 8
%3 = alloca %"class.std::__1::unique_ptr", align 8
%4 = alloca %"class.std::__1::unique_ptr", align 8
%5 = alloca ptr, align 8
%6 = alloca i32, align 4
store ptr %0, ptr %2, align 8
%7 = call ptr @_ZNSt3__110unique_ptrI6base_tNS_14default_deleteIS1_EEEC1B8ne190102ILb1EvEEv(ptr noundef %3) #5
invoke void @_ZNSt3__111make_uniqueB8ne190102I6base_tJEEENS_11__unique_ifIT_E15__unique_singleEDpOT0_(ptr dead_on_unwind writable sret(%"class.std::__1::unique_ptr") align 8 %4)
to label %8 unwind label %14
8: ; preds = %1
%9 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3__110unique_ptrI6base_tNS_14default_deleteIS1_EEEaSB8ne190102EOS4_(ptr noundef %3, ptr noundef nonnull align 8 dereferenceable(8) %4) #5
%10 = call ptr @_ZNSt3__110unique_ptrI6base_tNS_14default_deleteIS1_EEED1B8ne190102Ev(ptr noundef %4) #5
%11 = load ptr, ptr %2, align 8
%12 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNKSt3__110unique_ptrI6base_tNS_14default_deleteIS1_EEEdeB8ne190102Ev(ptr noundef %3) #5
%13 = call ptr @_ZNSt3__110unique_ptrI6base_tNS_14default_deleteIS1_EEED1B8ne190102Ev(ptr noundef %3) #5
ret void
14: ; preds = %1
%15 = landingpad { ptr, i32 }
cleanup
%16 = extractvalue { ptr, i32 } %15, 0
store ptr %16, ptr %5, align 8
%17 = extractvalue { ptr, i32 } %15, 1
store i32 %17, ptr %6, align 4
%18 = call ptr @_ZNSt3__110unique_ptrI6base_tNS_14default_deleteIS1_EEED1B8ne190102Ev(ptr noundef %3) #5
br label %19
19: ; preds = %14
%20 = load ptr, ptr %5, align 8
%21 = load i32, ptr %6, align 4
%22 = insertvalue { ptr, i32 } poison, ptr %20, 0
%23 = insertvalue { ptr, i32 } %22, i32 %21, 1
resume { ptr, i32 } %23
}
; Function Attrs: mustprogress noinline nounwind optnone ssp uwtable(sync)
define linkonce_odr ptr @_ZNSt3__110unique_ptrI6base_tNS_14default_deleteIS1_EEEC1B8ne190102ILb1EvEEv(ptr noundef returned %0) unnamed_addr #1 {
%2 = alloca ptr, align 8
store ptr %0, ptr %2, align 8
%3 = load ptr, ptr %2, align 8
%4 = call ptr @_ZNSt3__110unique_ptrI6base_tNS_14default_deleteIS1_EEEC2B8ne190102ILb1EvEEv(ptr noundef %3) #5
ret ptr %3
}
; Function Attrs: mustprogress noinline optnone ssp uwtable(sync)
define linkonce_odr hidden void @_ZNSt3__111make_uniqueB8ne190102I6base_tJEEENS_11__unique_ifIT_E15__unique_singleEDpOT0_(ptr dead_on_unwind noalias writable sret(%"class.std::__1::unique_ptr") align 8 %0) #0 {
%2 = alloca ptr, align 8
store ptr %0, ptr %2, align 8
%3 = call noalias nonnull ptr @_Znwm(i64 noundef 1) #6
%4 = call ptr @_ZNSt3__110unique_ptrI6base_tNS_14default_deleteIS1_EEEC1B8ne190102ILb1EvEEPS1_(ptr noundef %0, ptr noundef %3) #5
ret void
}
declare i32 @__gxx_personality_v0(...)
; Function Attrs: mustprogress noinline nounwind optnone ssp uwtable(sync)
define linkonce_odr hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3__110unique_ptrI6base_tNS_14default_deleteIS1_EEEaSB8ne190102EOS4_(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(8) %1) #1 {
%3 = alloca ptr, align 8
%4 = alloca ptr, align 8
store ptr %0, ptr %3, align 8
store ptr %1, ptr %4, align 8
%5 = load ptr, ptr %3, align 8
%6 = load ptr, ptr %4, align 8
%7 = call ptr @_ZNSt3__110unique_ptrI6base_tNS_14default_deleteIS1_EEE7releaseB8ne190102Ev(ptr noundef %6) #5
call void @_ZNSt3__110unique_ptrI6base_tNS_14default_deleteIS1_EEE5resetB8ne190102EPS1_(ptr noundef %5, ptr noundef %7) #5
%8 = load ptr, ptr %4, align 8
%9 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3__110unique_ptrI6base_tNS_14default_deleteIS1_EEE11get_deleterB8ne190102Ev(ptr noundef %8) #5
%10 = getelementptr inbounds %"class.std::__1::unique_ptr", ptr %5, i32 0, i32 0
%11 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3__117__compressed_pairIP6base_tNS_14default_deleteIS1_EEE6secondB8ne190102Ev(ptr noundef %10) #5
ret ptr %5
}
; Function Attrs: mustprogress noinline nounwind optnone ssp uwtable(sync)
define linkonce_odr hidden ptr @_ZNSt3__110unique_ptrI6base_tNS_14default_deleteIS1_EEED1B8ne190102Ev(ptr noundef returned %0) unnamed_addr #1 {
%2 = alloca ptr, align 8
store ptr %0, ptr %2, align 8
%3 = load ptr, ptr %2, align 8
%4 = call ptr @_ZNSt3__110unique_ptrI6base_tNS_14default_deleteIS1_EEED2B8ne190102Ev(ptr noundef %3) #5
ret ptr %3
}
; Function Attrs: mustprogress noinline nounwind optnone ssp uwtable(sync)
define linkonce_odr hidden noundef nonnull align 1 dereferenceable(1) ptr @_ZNKSt3__110unique_ptrI6base_tNS_14default_deleteIS1_EEEdeB8ne190102Ev(ptr noundef %0) #1 {
%2 = alloca ptr, align 8
store ptr %0, ptr %2, align 8
%3 = load ptr, ptr %2, align 8
%4 = getelementptr inbounds %"class.std::__1::unique_ptr", ptr %3, i32 0, i32 0
%5 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt3__117__compressed_pairIP6base_tNS_14default_deleteIS1_EEE5firstB8ne190102Ev(ptr noundef %4) #5
%6 = load ptr, ptr %5, align 8
ret ptr %6
}
; Function Attrs: mustprogress noinline nounwind optnone ssp uwtable(sync)
define linkonce_odr ptr @_ZNSt3__110unique_ptrI6base_tNS_14default_deleteIS1_EEEC2B8ne190102ILb1EvEEv(ptr noundef returned %0) unnamed_addr #1 personality ptr @__gxx_personality_v0 {
%2 = alloca ptr, align 8
%3 = alloca %"struct.std::__1::__value_init_tag", align 1
%4 = alloca %"struct.std::__1::__value_init_tag", align 1
store ptr %0, ptr %2, align 8
%5 = load ptr, ptr %2, align 8
%6 = getelementptr inbounds %"class.std::__1::unique_ptr", ptr %5, i32 0, i32 0
%7 = invoke ptr @_ZNSt3__117__compressed_pairIP6base_tNS_14default_deleteIS1_EEEC1B8ne190102INS_16__value_init_tagES7_EEOT_OT0_(ptr noundef %6, ptr noundef nonnull align 1 dereferenceable(1) %3, ptr noundef nonnull align 1 dereferenceable(1) %4)
to label %8 unwind label %9
8: ; preds = %1
ret ptr %5
9: ; preds = %1
%10 = landingpad { ptr, i32 }
catch ptr null
%11 = extractvalue { ptr, i32 } %10, 0
call void @__clang_call_terminate(ptr %11) #7
unreachable
}
; Function Attrs: mustprogress noinline optnone ssp uwtable(sync)
define linkonce_odr ptr @_ZNSt3__117__compressed_pairIP6base_tNS_14default_deleteIS1_EEEC1B8ne190102INS_16__value_init_tagES7_EEOT_OT0_(ptr noundef returned %0, ptr noundef nonnull align 1 dereferenceable(1) %1, ptr noundef nonnull align 1 dereferenceable(1) %2) unnamed_addr #0 {
%4 = alloca ptr, align 8
%5 = alloca ptr, align 8
%6 = alloca ptr, align 8
store ptr %0, ptr %4, align 8
store ptr %1, ptr %5, align 8
store ptr %2, ptr %6, align 8
%7 = load ptr, ptr %4, align 8
%8 = load ptr, ptr %5, align 8
%9 = load ptr, ptr %6, align 8
%10 = call ptr @_ZNSt3__117__compressed_pairIP6base_tNS_14default_deleteIS1_EEEC2B8ne190102INS_16__value_init_tagES7_EEOT_OT0_(ptr noundef %7, ptr noundef nonnull align 1 dereferenceable(1) %8, ptr noundef nonnull align 1 dereferenceable(1) %9)
ret ptr %7
}
; Function Attrs: noinline noreturn nounwind ssp uwtable(sync)
define linkonce_odr hidden void @__clang_call_terminate(ptr noundef %0) #2 {
%2 = call ptr @__cxa_begin_catch(ptr %0) #5
call void @_ZSt9terminatev() #7
unreachable
}
declare ptr @__cxa_begin_catch(ptr)
declare void @_ZSt9terminatev()
; Function Attrs: mustprogress noinline optnone ssp uwtable(sync)
define linkonce_odr ptr @_ZNSt3__117__compressed_pairIP6base_tNS_14default_deleteIS1_EEEC2B8ne190102INS_16__value_init_tagES7_EEOT_OT0_(ptr noundef returned %0, ptr noundef nonnull align 1 dereferenceable(1) %1, ptr noundef nonnull align 1 dereferenceable(1) %2) unnamed_addr #0 {
%4 = alloca ptr, align 8
%5 = alloca ptr, align 8
%6 = alloca ptr, align 8
%7 = alloca %"struct.std::__1::__value_init_tag", align 1
%8 = alloca %"struct.std::__1::__value_init_tag", align 1
store ptr %0, ptr %4, align 8
store ptr %1, ptr %5, align 8
store ptr %2, ptr %6, align 8
%9 = load ptr, ptr %4, align 8
%10 = load ptr, ptr %5, align 8
%11 = call ptr @_ZNSt3__122__compressed_pair_elemIP6base_tLi0ELb0EEC2B8ne190102ENS_16__value_init_tagE(ptr noundef %9)
%12 = load ptr, ptr %6, align 8
%13 = call ptr @_ZNSt3__122__compressed_pair_elemINS_14default_deleteI6base_tEELi1ELb1EEC2B8ne190102ENS_16__value_init_tagE(ptr noundef %9)
ret ptr %9
}
; Function Attrs: mustprogress noinline nounwind optnone ssp uwtable(sync)
define linkonce_odr hidden ptr @_ZNSt3__122__compressed_pair_elemIP6base_tLi0ELb0EEC2B8ne190102ENS_16__value_init_tagE(ptr noundef returned %0) unnamed_addr #1 {
%2 = alloca %"struct.std::__1::__value_init_tag", align 1
%3 = alloca ptr, align 8
store ptr %0, ptr %3, align 8
%4 = load ptr, ptr %3, align 8
%5 = getelementptr inbounds %"struct.std::__1::__compressed_pair_elem", ptr %4, i32 0, i32 0
store ptr null, ptr %5, align 8
ret ptr %4
}
; Function Attrs: mustprogress noinline nounwind optnone ssp uwtable(sync)
define linkonce_odr hidden ptr @_ZNSt3__122__compressed_pair_elemINS_14default_deleteI6base_tEELi1ELb1EEC2B8ne190102ENS_16__value_init_tagE(ptr noundef returned %0) unnamed_addr #1 {
%2 = alloca %"struct.std::__1::__value_init_tag", align 1
%3 = alloca ptr, align 8
store ptr %0, ptr %3, align 8
%4 = load ptr, ptr %3, align 8
ret ptr %4
}
; Function Attrs: mustprogress noinline nounwind optnone ssp uwtable(sync)
define linkonce_odr hidden ptr @_ZNSt3__110unique_ptrI6base_tNS_14default_deleteIS1_EEED2B8ne190102Ev(ptr noundef returned %0) unnamed_addr #1 {
%2 = alloca ptr, align 8
store ptr %0, ptr %2, align 8
%3 = load ptr, ptr %2, align 8
call void @_ZNSt3__110unique_ptrI6base_tNS_14default_deleteIS1_EEE5resetB8ne190102EPS1_(ptr noundef %3, ptr noundef null) #5
ret ptr %3
}
; Function Attrs: mustprogress noinline nounwind optnone ssp uwtable(sync)
define linkonce_odr hidden void @_ZNSt3__110unique_ptrI6base_tNS_14default_deleteIS1_EEE5resetB8ne190102EPS1_(ptr noundef %0, ptr noundef %1) #1 {
%3 = alloca ptr, align 8
%4 = alloca ptr, align 8
%5 = alloca ptr, align 8
store ptr %0, ptr %3, align 8
store ptr %1, ptr %4, align 8
%6 = load ptr, ptr %3, align 8
%7 = getelementptr inbounds %"class.std::__1::unique_ptr", ptr %6, i32 0, i32 0
%8 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3__117__compressed_pairIP6base_tNS_14default_deleteIS1_EEE5firstB8ne190102Ev(ptr noundef %7) #5
%9 = load ptr, ptr %8, align 8
store ptr %9, ptr %5, align 8
%10 = load ptr, ptr %4, align 8
%11 = getelementptr inbounds %"class.std::__1::unique_ptr", ptr %6, i32 0, i32 0
%12 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3__117__compressed_pairIP6base_tNS_14default_deleteIS1_EEE5firstB8ne190102Ev(ptr noundef %11) #5
store ptr %10, ptr %12, align 8
%13 = load ptr, ptr %5, align 8
%14 = icmp ne ptr %13, null
br i1 %14, label %15, label %19
15: ; preds = %2
%16 = getelementptr inbounds %"class.std::__1::unique_ptr", ptr %6, i32 0, i32 0
%17 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3__117__compressed_pairIP6base_tNS_14default_deleteIS1_EEE6secondB8ne190102Ev(ptr noundef %16) #5
%18 = load ptr, ptr %5, align 8
call void @_ZNKSt3__114default_deleteI6base_tEclB8ne190102EPS1_(ptr noundef %17, ptr noundef %18) #5
br label %19
19: ; preds = %15, %2
ret void
}
; Function Attrs: mustprogress noinline nounwind optnone ssp uwtable(sync)
define linkonce_odr hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3__117__compressed_pairIP6base_tNS_14default_deleteIS1_EEE5firstB8ne190102Ev(ptr noundef %0) #1 {
%2 = alloca ptr, align 8
store ptr %0, ptr %2, align 8
%3 = load ptr, ptr %2, align 8
%4 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3__122__compressed_pair_elemIP6base_tLi0ELb0EE5__getB8ne190102Ev(ptr noundef %3) #5
ret ptr %4
}
; Function Attrs: mustprogress noinline nounwind optnone ssp uwtable(sync)
define linkonce_odr hidden noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3__117__compressed_pairIP6base_tNS_14default_deleteIS1_EEE6secondB8ne190102Ev(ptr noundef %0) #1 {
%2 = alloca ptr, align 8
store ptr %0, ptr %2, align 8
%3 = load ptr, ptr %2, align 8
%4 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3__122__compressed_pair_elemINS_14default_deleteI6base_tEELi1ELb1EE5__getB8ne190102Ev(ptr noundef %3) #5
ret ptr %4
}
; Function Attrs: mustprogress noinline nounwind optnone ssp uwtable(sync)
define linkonce_odr hidden void @_ZNKSt3__114default_deleteI6base_tEclB8ne190102EPS1_(ptr noundef %0, ptr noundef %1) #1 {
%3 = alloca ptr, align 8
%4 = alloca ptr, align 8
store ptr %0, ptr %3, align 8
store ptr %1, ptr %4, align 8
%5 = load ptr, ptr %3, align 8
%6 = load ptr, ptr %4, align 8
%7 = icmp eq ptr %6, null
br i1 %7, label %9, label %8
8: ; preds = %2
call void @_ZdlPv(ptr noundef %6) #8
br label %9
9: ; preds = %8, %2
ret void
}
; Function Attrs: mustprogress noinline nounwind optnone ssp uwtable(sync)
define linkonce_odr hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3__122__compressed_pair_elemIP6base_tLi0ELb0EE5__getB8ne190102Ev(ptr noundef %0) #1 {
%2 = alloca ptr, align 8
store ptr %0, ptr %2, align 8
%3 = load ptr, ptr %2, align 8
%4 = getelementptr inbounds %"struct.std::__1::__compressed_pair_elem", ptr %3, i32 0, i32 0
ret ptr %4
}
; Function Attrs: mustprogress noinline nounwind optnone ssp uwtable(sync)
define linkonce_odr hidden noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3__122__compressed_pair_elemINS_14default_deleteI6base_tEELi1ELb1EE5__getB8ne190102Ev(ptr noundef %0) #1 {
%2 = alloca ptr, align 8
store ptr %0, ptr %2, align 8
%3 = load ptr, ptr %2, align 8
ret ptr %3
}
; Function Attrs: nobuiltin nounwind
declare void @_ZdlPv(ptr noundef) #3
; Function Attrs: nobuiltin allocsize(0)
declare nonnull ptr @_Znwm(i64 noundef) #4
; Function Attrs: mustprogress noinline nounwind optnone ssp uwtable(sync)
define linkonce_odr ptr @_ZNSt3__110unique_ptrI6base_tNS_14default_deleteIS1_EEEC1B8ne190102ILb1EvEEPS1_(ptr noundef returned %0, ptr noundef %1) unnamed_addr #1 {
%3 = alloca ptr, align 8
%4 = alloca ptr, align 8
store ptr %0, ptr %3, align 8
store ptr %1, ptr %4, align 8
%5 = load ptr, ptr %3, align 8
%6 = load ptr, ptr %4, align 8
%7 = call ptr @_ZNSt3__110unique_ptrI6base_tNS_14default_deleteIS1_EEEC2B8ne190102ILb1EvEEPS1_(ptr noundef %5, ptr noundef %6) #5
ret ptr %5
}
; Function Attrs: mustprogress noinline nounwind optnone ssp uwtable(sync)
define linkonce_odr ptr @_ZNSt3__110unique_ptrI6base_tNS_14default_deleteIS1_EEEC2B8ne190102ILb1EvEEPS1_(ptr noundef returned %0, ptr noundef %1) unnamed_addr #1 personality ptr @__gxx_personality_v0 {
%3 = alloca ptr, align 8
%4 = alloca ptr, align 8
%5 = alloca %"struct.std::__1::__value_init_tag", align 1
store ptr %0, ptr %3, align 8
store ptr %1, ptr %4, align 8
%6 = load ptr, ptr %3, align 8
%7 = getelementptr inbounds %"class.std::__1::unique_ptr", ptr %6, i32 0, i32 0
%8 = invoke ptr @_ZNSt3__117__compressed_pairIP6base_tNS_14default_deleteIS1_EEEC1B8ne190102IRS2_NS_16__value_init_tagEEEOT_OT0_(ptr noundef %7, ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef nonnull align 1 dereferenceable(1) %5)
to label %9 unwind label %10
9: ; preds = %2
ret ptr %6
10: ; preds = %2
%11 = landingpad { ptr, i32 }
catch ptr null
%12 = extractvalue { ptr, i32 } %11, 0
call void @__clang_call_terminate(ptr %12) #7
unreachable
}
; Function Attrs: mustprogress noinline optnone ssp uwtable(sync)
define linkonce_odr ptr @_ZNSt3__117__compressed_pairIP6base_tNS_14default_deleteIS1_EEEC1B8ne190102IRS2_NS_16__value_init_tagEEEOT_OT0_(ptr noundef returned %0, ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull align 1 dereferenceable(1) %2) unnamed_addr #0 {
%4 = alloca ptr, align 8
%5 = alloca ptr, align 8
%6 = alloca ptr, align 8
store ptr %0, ptr %4, align 8
store ptr %1, ptr %5, align 8
store ptr %2, ptr %6, align 8
%7 = load ptr, ptr %4, align 8
%8 = load ptr, ptr %5, align 8
%9 = load ptr, ptr %6, align 8
%10 = call ptr @_ZNSt3__117__compressed_pairIP6base_tNS_14default_deleteIS1_EEEC2B8ne190102IRS2_NS_16__value_init_tagEEEOT_OT0_(ptr noundef %7, ptr noundef nonnull align 8 dereferenceable(8) %8, ptr noundef nonnull align 1 dereferenceable(1) %9)
ret ptr %7
}
; Function Attrs: mustprogress noinline optnone ssp uwtable(sync)
define linkonce_odr ptr @_ZNSt3__117__compressed_pairIP6base_tNS_14default_deleteIS1_EEEC2B8ne190102IRS2_NS_16__value_init_tagEEEOT_OT0_(ptr noundef returned %0, ptr noundef nonnull align 8 dereferenceable(8) %1, ptr noundef nonnull align 1 dereferenceable(1) %2) unnamed_addr #0 {
%4 = alloca ptr, align 8
%5 = alloca ptr, align 8
%6 = alloca ptr, align 8
%7 = alloca %"struct.std::__1::__value_init_tag", align 1
store ptr %0, ptr %4, align 8
store ptr %1, ptr %5, align 8
store ptr %2, ptr %6, align 8
%8 = load ptr, ptr %4, align 8
%9 = load ptr, ptr %5, align 8
%10 = call ptr @_ZNSt3__122__compressed_pair_elemIP6base_tLi0ELb0EEC2B8ne190102IRS2_Li0EEEOT_(ptr noundef %8, ptr noundef nonnull align 8 dereferenceable(8) %9)
%11 = load ptr, ptr %6, align 8
%12 = call ptr @_ZNSt3__122__compressed_pair_elemINS_14default_deleteI6base_tEELi1ELb1EEC2B8ne190102ENS_16__value_init_tagE(ptr noundef %8)
ret ptr %8
}
; Function Attrs: mustprogress noinline nounwind optnone ssp uwtable(sync)
define linkonce_odr ptr @_ZNSt3__122__compressed_pair_elemIP6base_tLi0ELb0EEC2B8ne190102IRS2_Li0EEEOT_(ptr noundef returned %0, ptr noundef nonnull align 8 dereferenceable(8) %1) unnamed_addr #1 {
%3 = alloca ptr, align 8
%4 = alloca ptr, align 8
store ptr %0, ptr %3, align 8
store ptr %1, ptr %4, align 8
%5 = load ptr, ptr %3, align 8
%6 = getelementptr inbounds %"struct.std::__1::__compressed_pair_elem", ptr %5, i32 0, i32 0
%7 = load ptr, ptr %4, align 8
%8 = load ptr, ptr %7, align 8
store ptr %8, ptr %6, align 8
ret ptr %5
}
; Function Attrs: mustprogress noinline nounwind optnone ssp uwtable(sync)
define linkonce_odr hidden ptr @_ZNSt3__110unique_ptrI6base_tNS_14default_deleteIS1_EEE7releaseB8ne190102Ev(ptr noundef %0) #1 {
%2 = alloca ptr, align 8
%3 = alloca ptr, align 8
store ptr %0, ptr %2, align 8
%4 = load ptr, ptr %2, align 8
%5 = getelementptr inbounds %"class.std::__1::unique_ptr", ptr %4, i32 0, i32 0
%6 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3__117__compressed_pairIP6base_tNS_14default_deleteIS1_EEE5firstB8ne190102Ev(ptr noundef %5) #5
%7 = load ptr, ptr %6, align 8
store ptr %7, ptr %3, align 8
%8 = getelementptr inbounds %"class.std::__1::unique_ptr", ptr %4, i32 0, i32 0
%9 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3__117__compressed_pairIP6base_tNS_14default_deleteIS1_EEE5firstB8ne190102Ev(ptr noundef %8) #5
store ptr null, ptr %9, align 8
%10 = load ptr, ptr %3, align 8
ret ptr %10
}
; Function Attrs: mustprogress noinline nounwind optnone ssp uwtable(sync)
define linkonce_odr hidden noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3__110unique_ptrI6base_tNS_14default_deleteIS1_EEE11get_deleterB8ne190102Ev(ptr noundef %0) #1 {
%2 = alloca ptr, align 8
store ptr %0, ptr %2, align 8
%3 = load ptr, ptr %2, align 8
%4 = getelementptr inbounds %"class.std::__1::unique_ptr", ptr %3, i32 0, i32 0
%5 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt3__117__compressed_pairIP6base_tNS_14default_deleteIS1_EEE6secondB8ne190102Ev(ptr noundef %4) #5
ret ptr %5
}
; Function Attrs: mustprogress noinline nounwind optnone ssp uwtable(sync)
define linkonce_odr hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt3__117__compressed_pairIP6base_tNS_14default_deleteIS1_EEE5firstB8ne190102Ev(ptr noundef %0) #1 {
%2 = alloca ptr, align 8
store ptr %0, ptr %2, align 8
%3 = load ptr, ptr %2, align 8
%4 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt3__122__compressed_pair_elemIP6base_tLi0ELb0EE5__getB8ne190102Ev(ptr noundef %3) #5
ret ptr %4
}
; Function Attrs: mustprogress noinline nounwind optnone ssp uwtable(sync)
define linkonce_odr hidden noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt3__122__compressed_pair_elemIP6base_tLi0ELb0EE5__getB8ne190102Ev(ptr noundef %0) #1 {
%2 = alloca ptr, align 8
store ptr %0, ptr %2, align 8
%3 = load ptr, ptr %2, align 8
%4 = getelementptr inbounds %"struct.std::__1::__compressed_pair_elem", ptr %3, i32 0, i32 0
ret ptr %4
}
attributes #0 = { mustprogress noinline optnone ssp uwtable(sync) "frame-pointer"="non-leaf" "no-trapping-math"="true" "probe-stack"="__chkstk_darwin" "stack-protector-buffer-size"="8" "target-cpu"="apple-m1" "target-features"="+aes,+altnzcv,+bti,+ccdp,+ccidx,+complxnum,+crc,+dit,+dotprod,+flagm,+fp-armv8,+fp16fml,+fptoint,+fullfp16,+jsconv,+lse,+neon,+pauth,+perfmon,+predres,+ras,+rcpc,+rdm,+sb,+sha2,+sha3,+specrestrict,+ssbs,+v8.1a,+v8.2a,+v8.3a,+v8.4a,+v8.5a,+v8a,+zcm,+zcz" }
attributes #1 = { mustprogress noinline nounwind optnone ssp uwtable(sync) "frame-pointer"="non-leaf" "no-trapping-math"="true" "probe-stack"="__chkstk_darwin" "stack-protector-buffer-size"="8" "target-cpu"="apple-m1" "target-features"="+aes,+altnzcv,+bti,+ccdp,+ccidx,+complxnum,+crc,+dit,+dotprod,+flagm,+fp-armv8,+fp16fml,+fptoint,+fullfp16,+jsconv,+lse,+neon,+pauth,+perfmon,+predres,+ras,+rcpc,+rdm,+sb,+sha2,+sha3,+specrestrict,+ssbs,+v8.1a,+v8.2a,+v8.3a,+v8.4a,+v8.5a,+v8a,+zcm,+zcz" }
attributes #2 = { noinline noreturn nounwind ssp uwtable(sync) "frame-pointer"="non-leaf" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="apple-m1" "target-features"="+aes,+altnzcv,+bti,+ccdp,+ccidx,+complxnum,+crc,+dit,+dotprod,+flagm,+fp-armv8,+fp16fml,+fptoint,+fullfp16,+jsconv,+lse,+neon,+pauth,+perfmon,+predres,+ras,+rcpc,+rdm,+sb,+sha2,+sha3,+specrestrict,+ssbs,+v8.1a,+v8.2a,+v8.3a,+v8.4a,+v8.5a,+v8a,+zcm,+zcz" }
attributes #3 = { nobuiltin nounwind "frame-pointer"="non-leaf" "no-trapping-math"="true" "probe-stack"="__chkstk_darwin" "stack-protector-buffer-size"="8" "target-cpu"="apple-m1" "target-features"="+aes,+altnzcv,+bti,+ccdp,+ccidx,+complxnum,+crc,+dit,+dotprod,+flagm,+fp-armv8,+fp16fml,+fptoint,+fullfp16,+jsconv,+lse,+neon,+pauth,+perfmon,+predres,+ras,+rcpc,+rdm,+sb,+sha2,+sha3,+specrestrict,+ssbs,+v8.1a,+v8.2a,+v8.3a,+v8.4a,+v8.5a,+v8a,+zcm,+zcz" }
attributes #4 = { nobuiltin allocsize(0) "frame-pointer"="non-leaf" "no-trapping-math"="true" "probe-stack"="__chkstk_darwin" "stack-protector-buffer-size"="8" "target-cpu"="apple-m1" "target-features"="+aes,+altnzcv,+bti,+ccdp,+ccidx,+complxnum,+crc,+dit,+dotprod,+flagm,+fp-armv8,+fp16fml,+fptoint,+fullfp16,+jsconv,+lse,+neon,+pauth,+perfmon,+predres,+ras,+rcpc,+rdm,+sb,+sha2,+sha3,+specrestrict,+ssbs,+v8.1a,+v8.2a,+v8.3a,+v8.4a,+v8.5a,+v8a,+zcm,+zcz" }
attributes #5 = { nounwind }
attributes #6 = { builtin allocsize(0) }
attributes #7 = { noreturn nounwind }
attributes #8 = { builtin nounwind }
!llvm.module.flags = !{!0, !1, !2, !3, !4}
!llvm.ident = !{!5}
!0 = !{i32 2, !"SDK Version", [2 x i32] [i32 15, i32 5]}
!1 = !{i32 1, !"wchar_size", i32 4}
!2 = !{i32 8, !"PIC Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 1}
!4 = !{i32 7, !"frame-pointer", i32 1}
!5 = !{!"Apple clang version 17.0.0 (clang-1700.0.13.5)"}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment