Skip to content

Instantly share code, notes, and snippets.

@Amanieu
Last active March 19, 2020 23:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Amanieu/8b809982906bf291133a72363d3662ee to your computer and use it in GitHub Desktop.
Save Amanieu/8b809982906bf291133a72363d3662ee to your computer and use it in GitHub Desktop.
; std::panicking::try
; Function Attrs: nonlazybind uwtable
define void @_ZN3std9panicking3try17h2c4df7f3f9c79acfE(%"core::result::Result<proc_macro::Span, alloc::boxed::Box<core::any::Any>>"* noalias nocapture sret dereferenceable(24)) unnamed_addr #1 personality i32 (i32, i32, i64, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality !dbg !2657 {
start:
%1 = alloca %"core::mem::maybe_uninit::MaybeUninit<imp::nightly_works::{{closure}}::{{closure}}>", align 1
%self.dbg.spill.i17 = alloca %"core::mem::manually_drop::ManuallyDrop<imp::nightly_works::{{closure}}::{{closure}}>"*, align 8
call void @llvm.dbg.declare(metadata %"core::mem::manually_drop::ManuallyDrop<imp::nightly_works::{{closure}}::{{closure}}>"** %self.dbg.spill.i17, metadata !2686, metadata !DIExpression()), !dbg !2695
%self.dbg.spill.i = alloca %"core::mem::maybe_uninit::MaybeUninit<imp::nightly_works::{{closure}}::{{closure}}>"*, align 8
call void @llvm.dbg.declare(metadata %"core::mem::maybe_uninit::MaybeUninit<imp::nightly_works::{{closure}}::{{closure}}>"** %self.dbg.spill.i, metadata !2709, metadata !DIExpression()), !dbg !2740
%count.dbg.spill.i = alloca i64, align 8
call void @llvm.dbg.declare(metadata i64* %count.dbg.spill.i, metadata !2741, metadata !DIExpression()), !dbg !2748
%dst.dbg.spill.i = alloca %"imp::nightly_works::{{closure}}::{{closure}}"*, align 8
call void @llvm.dbg.declare(metadata %"imp::nightly_works::{{closure}}::{{closure}}"** %dst.dbg.spill.i, metadata !2747, metadata !DIExpression()), !dbg !2750
%src.dbg.spill.i14 = alloca %"imp::nightly_works::{{closure}}::{{closure}}"*, align 8
call void @llvm.dbg.declare(metadata %"imp::nightly_works::{{closure}}::{{closure}}"** %src.dbg.spill.i14, metadata !2746, metadata !DIExpression()), !dbg !2751
%src.dbg.spill.i = alloca %"imp::nightly_works::{{closure}}::{{closure}}"*, align 8
call void @llvm.dbg.declare(metadata %"imp::nightly_works::{{closure}}::{{closure}}"** %src.dbg.spill.i, metadata !2717, metadata !DIExpression()), !dbg !2752
%tmp.i = alloca %"core::mem::maybe_uninit::MaybeUninit<imp::nightly_works::{{closure}}::{{closure}}>", align 1
call void @llvm.dbg.declare(metadata %"core::mem::maybe_uninit::MaybeUninit<imp::nightly_works::{{closure}}::{{closure}}>"* %tmp.i, metadata !2718, metadata !DIExpression()), !dbg !2753
%slot.dbg.spill.i6 = alloca %"core::mem::manually_drop::ManuallyDrop<imp::nightly_works::{{closure}}::{{closure}}>"*, align 8
call void @llvm.dbg.declare(metadata %"core::mem::manually_drop::ManuallyDrop<imp::nightly_works::{{closure}}::{{closure}}>"** %slot.dbg.spill.i6, metadata !2724, metadata !DIExpression()), !dbg !2754
%_2.i = alloca %"proc_macro::Span", align 4
%2 = alloca %"core::mem::manually_drop::ManuallyDrop<proc_macro::Span>", align 4
%3 = alloca i32, align 4
%value.i = alloca %"proc_macro::Span", align 4
call void @llvm.dbg.declare(metadata %"proc_macro::Span"* %value.i, metadata !2755, metadata !DIExpression()), !dbg !2760
%4 = alloca i32, align 4
%5 = alloca i32, align 4
%data.dbg.spill3.i1 = alloca %"std::panicking::try::Data<imp::nightly_works::{{closure}}::{{closure}}, proc_macro::Span>"*, align 8
call void @llvm.dbg.declare(metadata %"std::panicking::try::Data<imp::nightly_works::{{closure}}::{{closure}}, proc_macro::Span>"** %data.dbg.spill3.i1, metadata !2735, metadata !DIExpression()), !dbg !2762
%data.dbg.spill2.i2 = alloca %"std::panicking::try::Data<imp::nightly_works::{{closure}}::{{closure}}, proc_macro::Span>"*, align 8
call void @llvm.dbg.declare(metadata %"std::panicking::try::Data<imp::nightly_works::{{closure}}::{{closure}}, proc_macro::Span>"** %data.dbg.spill2.i2, metadata !2733, metadata !DIExpression()), !dbg !2763
%f.dbg.spill.i = alloca %"imp::nightly_works::{{closure}}::{{closure}}", align 1
call void @llvm.dbg.declare(metadata %"imp::nightly_works::{{closure}}::{{closure}}"* %f.dbg.spill.i, metadata !2737, metadata !DIExpression()), !dbg !2764
%data.dbg.spill.i3 = alloca i8*, align 8
call void @llvm.dbg.declare(metadata i8** %data.dbg.spill.i3, metadata !2732, metadata !DIExpression()), !dbg !2765
%_9.i = alloca %"proc_macro::Span", align 4
%_8.i = alloca %"core::mem::manually_drop::ManuallyDrop<proc_macro::Span>", align 4
%value.dbg.spill.i = alloca { {}*, [3 x i64]* }, align 8
call void @llvm.dbg.declare(metadata { {}*, [3 x i64]* }* %value.dbg.spill.i, metadata !2766, metadata !DIExpression()), !dbg !2771
%6 = alloca { i8*, i64* }, align 8
%obj.dbg.spill.i = alloca { {}*, [3 x i64]* }, align 8
call void @llvm.dbg.declare(metadata { {}*, [3 x i64]* }* %obj.dbg.spill.i, metadata !2784, metadata !DIExpression()), !dbg !2786
%data.dbg.spill3.i = alloca %"std::panicking::try::Data<imp::nightly_works::{{closure}}::{{closure}}, proc_macro::Span>"*, align 8
call void @llvm.dbg.declare(metadata %"std::panicking::try::Data<imp::nightly_works::{{closure}}::{{closure}}, proc_macro::Span>"** %data.dbg.spill3.i, metadata !2783, metadata !DIExpression()), !dbg !2787
%data.dbg.spill2.i = alloca %"std::panicking::try::Data<imp::nightly_works::{{closure}}::{{closure}}, proc_macro::Span>"*, align 8
call void @llvm.dbg.declare(metadata %"std::panicking::try::Data<imp::nightly_works::{{closure}}::{{closure}}, proc_macro::Span>"** %data.dbg.spill2.i, metadata !2782, metadata !DIExpression()), !dbg !2788
%payload.dbg.spill.i = alloca i8*, align 8
call void @llvm.dbg.declare(metadata i8** %payload.dbg.spill.i, metadata !2781, metadata !DIExpression()), !dbg !2789
%data.dbg.spill.i = alloca i8*, align 8
call void @llvm.dbg.declare(metadata i8** %data.dbg.spill.i, metadata !2780, metadata !DIExpression()), !dbg !2790
%slot.dbg.spill.i = alloca { i8*, i64* }, align 8
call void @llvm.dbg.declare(metadata { i8*, i64* }* %slot.dbg.spill.i, metadata !2791, metadata !DIExpression()), !dbg !2796
%7 = alloca %"proc_macro::Span", align 4
%8 = alloca i32, align 4
%slot.i = alloca %"core::mem::manually_drop::ManuallyDrop<proc_macro::Span>", align 4
call void @llvm.dbg.declare(metadata %"core::mem::manually_drop::ManuallyDrop<proc_macro::Span>"* %slot.i, metadata !2798, metadata !DIExpression()), !dbg !2803
%9 = alloca %"core::mem::manually_drop::ManuallyDrop<imp::nightly_works::{{closure}}::{{closure}}>", align 1
%10 = alloca i32, align 4
%11 = alloca i32, align 4
%data_ptr.dbg.spill = alloca i8*, align 8
%f.dbg.spill = alloca %"imp::nightly_works::{{closure}}::{{closure}}", align 1
%_15 = alloca %"core::mem::manually_drop::ManuallyDrop<proc_macro::Span>", align 4
%_14 = alloca %"proc_macro::Span", align 4
%data = alloca %"std::panicking::try::Data<imp::nightly_works::{{closure}}::{{closure}}, proc_macro::Span>", align 8
call void @llvm.dbg.declare(metadata %"imp::nightly_works::{{closure}}::{{closure}}"* %f.dbg.spill, metadata !2659, metadata !DIExpression()), !dbg !2805
call void @llvm.dbg.declare(metadata %"std::panicking::try::Data<imp::nightly_works::{{closure}}::{{closure}}, proc_macro::Span>"* %data, metadata !2660, metadata !DIExpression()), !dbg !2806
br label %12, !dbg !2807
12: ; preds = %start
%13 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.27, i64 0, i64 0), %start ], !dbg !2807
%14 = load i64, i64* %13, !dbg !2807
%15 = add i64 %14, 1, !dbg !2807
store i64 %15, i64* %13, !dbg !2807
%16 = bitcast %"core::mem::manually_drop::ManuallyDrop<imp::nightly_works::{{closure}}::{{closure}}>"* %9 to i8*, !dbg !2807
call void @llvm.lifetime.start.p0i8(i64 0, i8* %16), !dbg !2807
call void @llvm.dbg.declare(metadata !4, metadata !2812, metadata !DIExpression()), !dbg !2807
%17 = bitcast %"core::mem::manually_drop::ManuallyDrop<imp::nightly_works::{{closure}}::{{closure}}>"* %9 to %"imp::nightly_works::{{closure}}::{{closure}}"*, !dbg !2814
%18 = bitcast %"core::mem::manually_drop::ManuallyDrop<imp::nightly_works::{{closure}}::{{closure}}>"* %9 to i8*, !dbg !2815
call void @llvm.lifetime.end.p0i8(i64 0, i8* %18), !dbg !2815
br label %bb1, !dbg !2816
bb1: ; preds = %12
%19 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.27, i64 0, i64 1), %12 ], !dbg !2817
%20 = load i64, i64* %19, !dbg !2817
%21 = add i64 %20, 1, !dbg !2817
store i64 %21, i64* %19, !dbg !2817
%22 = bitcast %"std::panicking::try::Data<imp::nightly_works::{{closure}}::{{closure}}, proc_macro::Span>"* %data to %"core::mem::manually_drop::ManuallyDrop<imp::nightly_works::{{closure}}::{{closure}}>"*, !dbg !2817
%data_ptr = bitcast %"std::panicking::try::Data<imp::nightly_works::{{closure}}::{{closure}}, proc_macro::Span>"* %data to i8*, !dbg !2818
store i8* %data_ptr, i8** %data_ptr.dbg.spill, align 8, !dbg !2818
call void @llvm.dbg.declare(metadata i8** %data_ptr.dbg.spill, metadata !2683, metadata !DIExpression()), !dbg !2819
%23 = bitcast i32* %4 to i8*
call void @llvm.lifetime.start.p0i8(i64 4, i8* %23)
%24 = bitcast i32* %5 to i8*
call void @llvm.lifetime.start.p0i8(i64 4, i8* %24)
%25 = bitcast %"std::panicking::try::Data<imp::nightly_works::{{closure}}::{{closure}}, proc_macro::Span>"** %data.dbg.spill3.i1 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %25)
%26 = bitcast %"std::panicking::try::Data<imp::nightly_works::{{closure}}::{{closure}}, proc_macro::Span>"** %data.dbg.spill2.i2 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %26)
%27 = bitcast %"imp::nightly_works::{{closure}}::{{closure}}"* %f.dbg.spill.i to i8*
call void @llvm.lifetime.start.p0i8(i64 0, i8* %27)
%28 = bitcast i8** %data.dbg.spill.i3 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %28)
%29 = bitcast %"proc_macro::Span"* %_9.i to i8*
call void @llvm.lifetime.start.p0i8(i64 4, i8* %29)
%30 = bitcast %"core::mem::manually_drop::ManuallyDrop<proc_macro::Span>"* %_8.i to i8*
call void @llvm.lifetime.start.p0i8(i64 4, i8* %30)
store i8* %data_ptr, i8** %data.dbg.spill.i3, align 8
store %"std::panicking::try::Data<imp::nightly_works::{{closure}}::{{closure}}, proc_macro::Span>"* %data, %"std::panicking::try::Data<imp::nightly_works::{{closure}}::{{closure}}, proc_macro::Span>"** %data.dbg.spill2.i2, align 8, !dbg !2820
store %"std::panicking::try::Data<imp::nightly_works::{{closure}}::{{closure}}, proc_macro::Span>"* %data, %"std::panicking::try::Data<imp::nightly_works::{{closure}}::{{closure}}, proc_macro::Span>"** %data.dbg.spill3.i1, align 8, !dbg !2821
%_7.i = bitcast %"std::panicking::try::Data<imp::nightly_works::{{closure}}::{{closure}}, proc_macro::Span>"* %data to %"core::mem::manually_drop::ManuallyDrop<imp::nightly_works::{{closure}}::{{closure}}>"*, !dbg !2822
%31 = bitcast %"core::mem::manually_drop::ManuallyDrop<imp::nightly_works::{{closure}}::{{closure}}>"** %slot.dbg.spill.i6 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %31)
store %"core::mem::manually_drop::ManuallyDrop<imp::nightly_works::{{closure}}::{{closure}}>"* %_7.i, %"core::mem::manually_drop::ManuallyDrop<imp::nightly_works::{{closure}}::{{closure}}>"** %slot.dbg.spill.i6, align 8
%_3.i = bitcast %"core::mem::manually_drop::ManuallyDrop<imp::nightly_works::{{closure}}::{{closure}}>"* %_7.i to %"imp::nightly_works::{{closure}}::{{closure}}"*, !dbg !2823
%32 = bitcast %"imp::nightly_works::{{closure}}::{{closure}}"** %src.dbg.spill.i to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %32)
%33 = bitcast %"core::mem::maybe_uninit::MaybeUninit<imp::nightly_works::{{closure}}::{{closure}}>"* %tmp.i to i8*
call void @llvm.lifetime.start.p0i8(i64 0, i8* %33)
store %"imp::nightly_works::{{closure}}::{{closure}}"* %_3.i, %"imp::nightly_works::{{closure}}::{{closure}}"** %src.dbg.spill.i, align 8
%34 = bitcast %"core::mem::maybe_uninit::MaybeUninit<imp::nightly_works::{{closure}}::{{closure}}>"* %1 to i8*, !dbg !2824
call void @llvm.lifetime.start.p0i8(i64 0, i8* %34), !dbg !2824
%35 = bitcast %"core::mem::maybe_uninit::MaybeUninit<imp::nightly_works::{{closure}}::{{closure}}>"* %1 to {}*, !dbg !2824
%36 = bitcast %"core::mem::maybe_uninit::MaybeUninit<imp::nightly_works::{{closure}}::{{closure}}>"* %1 to i8*, !dbg !2829
call void @llvm.lifetime.end.p0i8(i64 0, i8* %36), !dbg !2829
br label %.noexc8, !dbg !2829
.noexc8: ; preds = %bb1
%37 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.27, i64 0, i64 2), %bb1 ]
%38 = load i64, i64* %37
%39 = add i64 %38, 1
store i64 %39, i64* %37
%40 = bitcast %"core::mem::maybe_uninit::MaybeUninit<imp::nightly_works::{{closure}}::{{closure}}>"** %self.dbg.spill.i to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %40)
store %"core::mem::maybe_uninit::MaybeUninit<imp::nightly_works::{{closure}}::{{closure}}>"* %tmp.i, %"core::mem::maybe_uninit::MaybeUninit<imp::nightly_works::{{closure}}::{{closure}}>"** %self.dbg.spill.i, align 8
%_4.i = bitcast %"core::mem::maybe_uninit::MaybeUninit<imp::nightly_works::{{closure}}::{{closure}}>"* %tmp.i to %"core::mem::manually_drop::ManuallyDrop<imp::nightly_works::{{closure}}::{{closure}}>"*, !dbg !2830
%41 = bitcast %"core::mem::manually_drop::ManuallyDrop<imp::nightly_works::{{closure}}::{{closure}}>"** %self.dbg.spill.i17 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %41)
store %"core::mem::manually_drop::ManuallyDrop<imp::nightly_works::{{closure}}::{{closure}}>"* %_4.i, %"core::mem::manually_drop::ManuallyDrop<imp::nightly_works::{{closure}}::{{closure}}>"** %self.dbg.spill.i17, align 8
%_3.i18 = bitcast %"core::mem::manually_drop::ManuallyDrop<imp::nightly_works::{{closure}}::{{closure}}>"* %_4.i to %"imp::nightly_works::{{closure}}::{{closure}}"*, !dbg !2831
%42 = bitcast %"core::mem::manually_drop::ManuallyDrop<imp::nightly_works::{{closure}}::{{closure}}>"** %self.dbg.spill.i17 to i8*, !dbg !2832
call void @llvm.lifetime.end.p0i8(i64 8, i8* %42), !dbg !2832
br label %"_ZN4core3mem12maybe_uninit20MaybeUninit$LT$T$GT$10as_mut_ptr17hf722aeb96a111a56E.exit", !dbg !2832
"_ZN4core3mem12maybe_uninit20MaybeUninit$LT$T$GT$10as_mut_ptr17hf722aeb96a111a56E.exit": ; preds = %.noexc8
%43 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.27, i64 0, i64 3), %.noexc8 ], !dbg !2833
%44 = load i64, i64* %43, !dbg !2833
%45 = add i64 %44, 1, !dbg !2833
store i64 %45, i64* %43, !dbg !2833
%46 = bitcast %"core::mem::maybe_uninit::MaybeUninit<imp::nightly_works::{{closure}}::{{closure}}>"** %self.dbg.spill.i to i8*, !dbg !2833
call void @llvm.lifetime.end.p0i8(i64 8, i8* %46), !dbg !2833
br label %_5.i.noexc, !dbg !2833
_5.i.noexc: ; preds = %"_ZN4core3mem12maybe_uninit20MaybeUninit$LT$T$GT$10as_mut_ptr17hf722aeb96a111a56E.exit"
%47 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.27, i64 0, i64 4), %"_ZN4core3mem12maybe_uninit20MaybeUninit$LT$T$GT$10as_mut_ptr17hf722aeb96a111a56E.exit" ]
%48 = load i64, i64* %47
%49 = add i64 %48, 1
store i64 %49, i64* %47
%50 = bitcast i64* %count.dbg.spill.i to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %50)
%51 = bitcast %"imp::nightly_works::{{closure}}::{{closure}}"** %dst.dbg.spill.i to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %51)
%52 = bitcast %"imp::nightly_works::{{closure}}::{{closure}}"** %src.dbg.spill.i14 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %52)
store %"imp::nightly_works::{{closure}}::{{closure}}"* %_3.i, %"imp::nightly_works::{{closure}}::{{closure}}"** %src.dbg.spill.i14, align 8
store %"imp::nightly_works::{{closure}}::{{closure}}"* %_3.i18, %"imp::nightly_works::{{closure}}::{{closure}}"** %dst.dbg.spill.i, align 8
store i64 1, i64* %count.dbg.spill.i, align 8
%53 = bitcast %"imp::nightly_works::{{closure}}::{{closure}}"* %_3.i18 to i8*, !dbg !2834
%54 = bitcast %"imp::nightly_works::{{closure}}::{{closure}}"* %_3.i to i8*, !dbg !2834
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %53, i8* align 1 %54, i64 0, i1 false), !dbg !2834
%55 = bitcast i64* %count.dbg.spill.i to i8*, !dbg !2835
call void @llvm.lifetime.end.p0i8(i64 8, i8* %55), !dbg !2835
%56 = bitcast %"imp::nightly_works::{{closure}}::{{closure}}"** %dst.dbg.spill.i to i8*, !dbg !2835
call void @llvm.lifetime.end.p0i8(i64 8, i8* %56), !dbg !2835
%57 = bitcast %"imp::nightly_works::{{closure}}::{{closure}}"** %src.dbg.spill.i14 to i8*, !dbg !2835
call void @llvm.lifetime.end.p0i8(i64 8, i8* %57), !dbg !2835
br label %.noexc10, !dbg !2835
.noexc10: ; preds = %_5.i.noexc
%58 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.27, i64 0, i64 5), %_5.i.noexc ], !dbg !2836
%59 = load i64, i64* %58, !dbg !2836
%60 = add i64 %59, 1, !dbg !2836
store i64 %60, i64* %58, !dbg !2836
call void @llvm.dbg.declare(metadata !4, metadata !2841, metadata !DIExpression()), !dbg !2836
call void @llvm.dbg.declare(metadata !4, metadata !2843, metadata !DIExpression()), !dbg !2848
br label %"_ZN4core3mem12maybe_uninit20MaybeUninit$LT$T$GT$11assume_init17h2ab98d4d58a1c1e5E.exit", !dbg !2850
"_ZN4core3mem12maybe_uninit20MaybeUninit$LT$T$GT$11assume_init17h2ab98d4d58a1c1e5E.exit": ; preds = %.noexc10
%61 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.27, i64 0, i64 6), %.noexc10 ], !dbg !2851
%62 = load i64, i64* %61, !dbg !2851
%63 = add i64 %62, 1, !dbg !2851
store i64 %63, i64* %61, !dbg !2851
br label %_ZN4core3ptr4read17h90aeca10dfe636a6E.exit, !dbg !2851
_ZN4core3ptr4read17h90aeca10dfe636a6E.exit: ; preds = %"_ZN4core3mem12maybe_uninit20MaybeUninit$LT$T$GT$11assume_init17h2ab98d4d58a1c1e5E.exit"
%64 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.27, i64 0, i64 7), %"_ZN4core3mem12maybe_uninit20MaybeUninit$LT$T$GT$11assume_init17h2ab98d4d58a1c1e5E.exit" ], !dbg !2852
%65 = load i64, i64* %64, !dbg !2852
%66 = add i64 %65, 1, !dbg !2852
store i64 %66, i64* %64, !dbg !2852
%67 = bitcast %"imp::nightly_works::{{closure}}::{{closure}}"** %src.dbg.spill.i to i8*, !dbg !2852
call void @llvm.lifetime.end.p0i8(i64 8, i8* %67), !dbg !2852
%68 = bitcast %"core::mem::maybe_uninit::MaybeUninit<imp::nightly_works::{{closure}}::{{closure}}>"* %tmp.i to i8*, !dbg !2852
call void @llvm.lifetime.end.p0i8(i64 0, i8* %68), !dbg !2852
br label %"_ZN4core3mem13manually_drop21ManuallyDrop$LT$T$GT$4take17hcb3d321b87fdb138E.exit", !dbg !2852
"_ZN4core3mem13manually_drop21ManuallyDrop$LT$T$GT$4take17hcb3d321b87fdb138E.exit": ; preds = %_ZN4core3ptr4read17h90aeca10dfe636a6E.exit
%69 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.27, i64 0, i64 8), %_ZN4core3ptr4read17h90aeca10dfe636a6E.exit ], !dbg !2853
%70 = load i64, i64* %69, !dbg !2853
%71 = add i64 %70, 1, !dbg !2853
store i64 %71, i64* %69, !dbg !2853
%72 = bitcast %"core::mem::manually_drop::ManuallyDrop<imp::nightly_works::{{closure}}::{{closure}}>"** %slot.dbg.spill.i6 to i8*, !dbg !2853
call void @llvm.lifetime.end.p0i8(i64 8, i8* %72), !dbg !2853
br label %.noexc, !dbg !2853
.noexc: ; preds = %"_ZN4core3mem13manually_drop21ManuallyDrop$LT$T$GT$4take17hcb3d321b87fdb138E.exit"
%73 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.27, i64 0, i64 9), %"_ZN4core3mem13manually_drop21ManuallyDrop$LT$T$GT$4take17hcb3d321b87fdb138E.exit" ], !dbg !2854
%74 = load i64, i64* %73, !dbg !2854
%75 = add i64 %74, 1, !dbg !2854
store i64 %75, i64* %73, !dbg !2854
; invoke proc_macro2::imp::nightly_works::{{closure}}::{{closure}}
%76 = invoke i32 @"_ZN11proc_macro23imp13nightly_works28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h918411ad0b79ae9fE"()
to label %.noexc4 unwind label %catch.i, !dbg !2854
.noexc4: ; preds = %.noexc
%77 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.27, i64 0, i64 10), %.noexc ], !dbg !2854
%78 = load i64, i64* %77, !dbg !2854
%79 = add i64 %78, 1, !dbg !2854
store i64 %79, i64* %77, !dbg !2854
store i32 %76, i32* %5, align 4, !dbg !2854
%80 = bitcast %"proc_macro::Span"* %_9.i to i8*, !dbg !2854
%81 = bitcast i32* %5 to i8*, !dbg !2854
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %80, i8* align 4 %81, i64 4, i1 false), !dbg !2854
%82 = bitcast %"proc_macro::Span"* %_9.i to i32*, !dbg !2855
%83 = load i32, i32* %82, align 4, !dbg !2855
%84 = bitcast %"proc_macro::Span"* %_2.i to i8*
call void @llvm.lifetime.start.p0i8(i64 4, i8* %84)
%85 = bitcast %"core::mem::manually_drop::ManuallyDrop<proc_macro::Span>"* %2 to i8*
call void @llvm.lifetime.start.p0i8(i64 4, i8* %85)
%86 = bitcast i32* %3 to i8*
call void @llvm.lifetime.start.p0i8(i64 4, i8* %86)
%87 = bitcast %"proc_macro::Span"* %value.i to i8*
call void @llvm.lifetime.start.p0i8(i64 4, i8* %87)
store i32 %83, i32* %3, align 4
%88 = bitcast %"proc_macro::Span"* %value.i to i8*
%89 = bitcast i32* %3 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %88, i8* align 4 %89, i64 4, i1 false)
%90 = bitcast %"proc_macro::Span"* %_2.i to i8*, !dbg !2856
%91 = bitcast %"proc_macro::Span"* %value.i to i8*, !dbg !2856
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %90, i8* align 4 %91, i64 4, i1 false), !dbg !2856
%92 = bitcast %"core::mem::manually_drop::ManuallyDrop<proc_macro::Span>"* %2 to %"proc_macro::Span"*, !dbg !2857
%93 = bitcast %"proc_macro::Span"* %92 to i8*, !dbg !2857
%94 = bitcast %"proc_macro::Span"* %_2.i to i8*, !dbg !2857
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %93, i8* align 4 %94, i64 4, i1 false), !dbg !2857
%95 = bitcast %"core::mem::manually_drop::ManuallyDrop<proc_macro::Span>"* %2 to i32*, !dbg !2858
%96 = load i32, i32* %95, align 4, !dbg !2858
%97 = bitcast %"proc_macro::Span"* %_2.i to i8*, !dbg !2858
call void @llvm.lifetime.end.p0i8(i64 4, i8* %97), !dbg !2858
%98 = bitcast %"core::mem::manually_drop::ManuallyDrop<proc_macro::Span>"* %2 to i8*, !dbg !2858
call void @llvm.lifetime.end.p0i8(i64 4, i8* %98), !dbg !2858
%99 = bitcast i32* %3 to i8*, !dbg !2858
call void @llvm.lifetime.end.p0i8(i64 4, i8* %99), !dbg !2858
%100 = bitcast %"proc_macro::Span"* %value.i to i8*, !dbg !2858
call void @llvm.lifetime.end.p0i8(i64 4, i8* %100), !dbg !2858
br label %_ZN3std9panicking3try7do_call17h16e99b926c5155e9E.exit, !dbg !2858
_ZN3std9panicking3try7do_call17h16e99b926c5155e9E.exit: ; preds = %.noexc4
%101 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.27, i64 0, i64 12), %.noexc4 ], !dbg !2855
%102 = load i64, i64* %101, !dbg !2855
%103 = add i64 %102, 1, !dbg !2855
store i64 %103, i64* %101, !dbg !2855
store i32 %96, i32* %4, align 4, !dbg !2855
%104 = bitcast %"core::mem::manually_drop::ManuallyDrop<proc_macro::Span>"* %_8.i to i8*, !dbg !2855
%105 = bitcast i32* %4 to i8*, !dbg !2855
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %104, i8* align 4 %105, i64 4, i1 false), !dbg !2855
%106 = bitcast %"std::panicking::try::Data<imp::nightly_works::{{closure}}::{{closure}}, proc_macro::Span>"* %data to %"core::mem::manually_drop::ManuallyDrop<proc_macro::Span>"*, !dbg !2859
%107 = bitcast %"core::mem::manually_drop::ManuallyDrop<proc_macro::Span>"* %106 to i8*, !dbg !2859
%108 = bitcast %"core::mem::manually_drop::ManuallyDrop<proc_macro::Span>"* %_8.i to i8*, !dbg !2859
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %107, i8* align 4 %108, i64 4, i1 false), !dbg !2859
%109 = bitcast i32* %4 to i8*, !dbg !2860
call void @llvm.lifetime.end.p0i8(i64 4, i8* %109), !dbg !2860
%110 = bitcast i32* %5 to i8*, !dbg !2860
call void @llvm.lifetime.end.p0i8(i64 4, i8* %110), !dbg !2860
%111 = bitcast %"std::panicking::try::Data<imp::nightly_works::{{closure}}::{{closure}}, proc_macro::Span>"** %data.dbg.spill3.i1 to i8*, !dbg !2860
call void @llvm.lifetime.end.p0i8(i64 8, i8* %111), !dbg !2860
%112 = bitcast %"std::panicking::try::Data<imp::nightly_works::{{closure}}::{{closure}}, proc_macro::Span>"** %data.dbg.spill2.i2 to i8*, !dbg !2860
call void @llvm.lifetime.end.p0i8(i64 8, i8* %112), !dbg !2860
%113 = bitcast %"imp::nightly_works::{{closure}}::{{closure}}"* %f.dbg.spill.i to i8*, !dbg !2860
call void @llvm.lifetime.end.p0i8(i64 0, i8* %113), !dbg !2860
%114 = bitcast i8** %data.dbg.spill.i3 to i8*, !dbg !2860
call void @llvm.lifetime.end.p0i8(i64 8, i8* %114), !dbg !2860
%115 = bitcast %"proc_macro::Span"* %_9.i to i8*, !dbg !2860
call void @llvm.lifetime.end.p0i8(i64 4, i8* %115), !dbg !2860
%116 = bitcast %"core::mem::manually_drop::ManuallyDrop<proc_macro::Span>"* %_8.i to i8*, !dbg !2860
call void @llvm.lifetime.end.p0i8(i64 4, i8* %116), !dbg !2860
br label %then.i, !dbg !2860
then.i: ; preds = %_ZN3std9panicking3try7do_call17h16e99b926c5155e9E.exit
%117 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.27, i64 0, i64 13), %_ZN3std9panicking3try7do_call17h16e99b926c5155e9E.exit ], !dbg !2861
%118 = load i64, i64* %117, !dbg !2861
%119 = add i64 %118, 1, !dbg !2861
store i64 %119, i64* %117, !dbg !2861
br label %__rust_try.exit, !dbg !2861
catch.i: ; preds = %.noexc
%120 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.27, i64 0, i64 11), %.noexc ], !dbg !2861
%121 = landingpad { i8*, i32 }
catch i8* null, !dbg !2861
%122 = load i64, i64* %120, !dbg !2861
%123 = add i64 %122, 1, !dbg !2861
store i64 %123, i64* %120, !dbg !2861
%124 = extractvalue { i8*, i32 } %121, 0, !dbg !2861
%125 = bitcast { {}*, [3 x i64]* }* %obj.dbg.spill.i to i8*
call void @llvm.lifetime.start.p0i8(i64 16, i8* %125)
%126 = bitcast %"std::panicking::try::Data<imp::nightly_works::{{closure}}::{{closure}}, proc_macro::Span>"** %data.dbg.spill3.i to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %126)
%127 = bitcast %"std::panicking::try::Data<imp::nightly_works::{{closure}}::{{closure}}, proc_macro::Span>"** %data.dbg.spill2.i to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %127)
%128 = bitcast i8** %payload.dbg.spill.i to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %128)
%129 = bitcast i8** %data.dbg.spill.i to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %129)
store i8* %data_ptr, i8** %data.dbg.spill.i, align 8
store i8* %124, i8** %payload.dbg.spill.i, align 8
store %"std::panicking::try::Data<imp::nightly_works::{{closure}}::{{closure}}, proc_macro::Span>"* %data, %"std::panicking::try::Data<imp::nightly_works::{{closure}}::{{closure}}, proc_macro::Span>"** %data.dbg.spill2.i, align 8, !dbg !2862
store %"std::panicking::try::Data<imp::nightly_works::{{closure}}::{{closure}}, proc_macro::Span>"* %data, %"std::panicking::try::Data<imp::nightly_works::{{closure}}::{{closure}}, proc_macro::Span>"** %data.dbg.spill3.i, align 8, !dbg !2863
; call std::panicking::try::cleanup
%130 = call { {}*, [3 x i64]* } @_ZN3std9panicking3try7cleanup17h97268322f249355eE(i8* %124), !dbg !2864
%obj.0.i = extractvalue { {}*, [3 x i64]* } %130, 0, !dbg !2864
%obj.1.i = extractvalue { {}*, [3 x i64]* } %130, 1, !dbg !2864
%131 = getelementptr inbounds { {}*, [3 x i64]* }, { {}*, [3 x i64]* }* %obj.dbg.spill.i, i32 0, i32 0, !dbg !2864
store {}* %obj.0.i, {}** %131, align 8, !dbg !2864
%132 = getelementptr inbounds { {}*, [3 x i64]* }, { {}*, [3 x i64]* }* %obj.dbg.spill.i, i32 0, i32 1, !dbg !2864
store [3 x i64]* %obj.1.i, [3 x i64]** %132, align 8, !dbg !2864
%133 = bitcast { {}*, [3 x i64]* }* %value.dbg.spill.i to i8*
call void @llvm.lifetime.start.p0i8(i64 16, i8* %133)
%134 = bitcast { i8*, i64* }* %6 to i8*
call void @llvm.lifetime.start.p0i8(i64 16, i8* %134)
%135 = getelementptr inbounds { {}*, [3 x i64]* }, { {}*, [3 x i64]* }* %value.dbg.spill.i, i32 0, i32 0
store {}* %obj.0.i, {}** %135, align 8, !noalias !2865
%136 = getelementptr inbounds { {}*, [3 x i64]* }, { {}*, [3 x i64]* }* %value.dbg.spill.i, i32 0, i32 1
store [3 x i64]* %obj.1.i, [3 x i64]** %136, align 8, !noalias !2865
%137 = bitcast { i8*, i64* }* %6 to { {}*, [3 x i64]* }*, !dbg !2869
%138 = getelementptr inbounds { {}*, [3 x i64]* }, { {}*, [3 x i64]* }* %137, i32 0, i32 0, !dbg !2869
store {}* %obj.0.i, {}** %138, align 8, !dbg !2869, !noalias !2865
%139 = getelementptr inbounds { {}*, [3 x i64]* }, { {}*, [3 x i64]* }* %137, i32 0, i32 1, !dbg !2869
store [3 x i64]* %obj.1.i, [3 x i64]** %139, align 8, !dbg !2869, !noalias !2865
%140 = getelementptr inbounds { i8*, i64* }, { i8*, i64* }* %6, i32 0, i32 0, !dbg !2870
%141 = load i8*, i8** %140, align 8, !dbg !2870, !noalias !2865, !nonnull !4
%142 = getelementptr inbounds { i8*, i64* }, { i8*, i64* }* %6, i32 0, i32 1, !dbg !2870
%143 = load i64*, i64** %142, align 8, !dbg !2870, !noalias !2865, !nonnull !4
%144 = insertvalue { i8*, i64* } undef, i8* %141, 0, !dbg !2870
%145 = insertvalue { i8*, i64* } %144, i64* %143, 1, !dbg !2870
%146 = bitcast { {}*, [3 x i64]* }* %value.dbg.spill.i to i8*, !dbg !2870
call void @llvm.lifetime.end.p0i8(i64 16, i8* %146), !dbg !2870
%147 = bitcast { i8*, i64* }* %6 to i8*, !dbg !2870
call void @llvm.lifetime.end.p0i8(i64 16, i8* %147), !dbg !2870
%_8.0.i = extractvalue { i8*, i64* } %145, 0, !dbg !2871
%_8.1.i = extractvalue { i8*, i64* } %145, 1, !dbg !2871
%148 = bitcast %"std::panicking::try::Data<imp::nightly_works::{{closure}}::{{closure}}, proc_macro::Span>"* %data to { i8*, i64* }*, !dbg !2872
%149 = getelementptr inbounds { i8*, i64* }, { i8*, i64* }* %148, i32 0, i32 0, !dbg !2872
store i8* %_8.0.i, i8** %149, align 8, !dbg !2872
%150 = getelementptr inbounds { i8*, i64* }, { i8*, i64* }* %148, i32 0, i32 1, !dbg !2872
store i64* %_8.1.i, i64** %150, align 8, !dbg !2872
%151 = bitcast { {}*, [3 x i64]* }* %obj.dbg.spill.i to i8*, !dbg !2873
call void @llvm.lifetime.end.p0i8(i64 16, i8* %151), !dbg !2873
%152 = bitcast %"std::panicking::try::Data<imp::nightly_works::{{closure}}::{{closure}}, proc_macro::Span>"** %data.dbg.spill3.i to i8*, !dbg !2873
call void @llvm.lifetime.end.p0i8(i64 8, i8* %152), !dbg !2873
%153 = bitcast %"std::panicking::try::Data<imp::nightly_works::{{closure}}::{{closure}}, proc_macro::Span>"** %data.dbg.spill2.i to i8*, !dbg !2873
call void @llvm.lifetime.end.p0i8(i64 8, i8* %153), !dbg !2873
%154 = bitcast i8** %payload.dbg.spill.i to i8*, !dbg !2873
call void @llvm.lifetime.end.p0i8(i64 8, i8* %154), !dbg !2873
%155 = bitcast i8** %data.dbg.spill.i to i8*, !dbg !2873
call void @llvm.lifetime.end.p0i8(i64 8, i8* %155), !dbg !2873
br label %__rust_try.exit, !dbg !2861
__rust_try.exit: ; preds = %catch.i, %then.i
%156 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.27, i64 0, i64 15), %catch.i ], [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.27, i64 0, i64 14), %then.i ]
%157 = phi i32 [ 0, %then.i ], [ 1, %catch.i ]
%158 = load i64, i64* %156, !dbg !2861
%159 = add i64 %158, 1, !dbg !2861
store i64 %159, i64* %156, !dbg !2861
store i32 %157, i32* %11, align 4, !dbg !2861
%_10 = load i32, i32* %11, align 4, !dbg !2861
br label %bb2, !dbg !2861
bb2: ; preds = %__rust_try.exit
%160 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.27, i64 0, i64 16), %__rust_try.exit ], !dbg !2861
%161 = load i64, i64* %160, !dbg !2861
%162 = add i64 %161, 1, !dbg !2861
store i64 %162, i64* %160, !dbg !2861
%_9 = icmp eq i32 %_10, 0, !dbg !2861
br i1 %_9, label %bb4, label %bb3, !dbg !2874
bb3: ; preds = %bb2
%163 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.27, i64 0, i64 18), %bb2 ], !dbg !2875
%164 = load i64, i64* %163, !dbg !2875
%165 = add i64 %164, 1, !dbg !2875
store i64 %165, i64* %163, !dbg !2875
%166 = bitcast %"std::panicking::try::Data<imp::nightly_works::{{closure}}::{{closure}}, proc_macro::Span>"* %data to { i8*, i64* }*, !dbg !2875
%167 = getelementptr inbounds { i8*, i64* }, { i8*, i64* }* %166, i32 0, i32 0, !dbg !2875
%_18.0 = load i8*, i8** %167, align 8, !dbg !2875, !nonnull !4
%168 = getelementptr inbounds { i8*, i64* }, { i8*, i64* }* %166, i32 0, i32 1, !dbg !2875
%_18.1 = load i64*, i64** %168, align 8, !dbg !2875, !nonnull !4
%169 = bitcast { i8*, i64* }* %slot.dbg.spill.i to i8*
call void @llvm.lifetime.start.p0i8(i64 16, i8* %169)
%170 = getelementptr inbounds { i8*, i64* }, { i8*, i64* }* %slot.dbg.spill.i, i32 0, i32 0
store i8* %_18.0, i8** %170, align 8, !noalias !2876
%171 = getelementptr inbounds { i8*, i64* }, { i8*, i64* }* %slot.dbg.spill.i, i32 0, i32 1
store i64* %_18.1, i64** %171, align 8, !noalias !2876
%172 = bitcast i8* %_18.0 to {}*, !dbg !2880
%173 = bitcast i64* %_18.1 to [3 x i64]*, !dbg !2880
%174 = insertvalue { {}*, [3 x i64]* } undef, {}* %172, 0, !dbg !2881
%175 = insertvalue { {}*, [3 x i64]* } %174, [3 x i64]* %173, 1, !dbg !2881
%176 = bitcast { i8*, i64* }* %slot.dbg.spill.i to i8*, !dbg !2881
call void @llvm.lifetime.end.p0i8(i64 16, i8* %176), !dbg !2881
%_17.0 = extractvalue { {}*, [3 x i64]* } %175, 0, !dbg !2882
%_17.1 = extractvalue { {}*, [3 x i64]* } %175, 1, !dbg !2882
br label %bb6, !dbg !2882
bb4: ; preds = %bb2
%177 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.27, i64 0, i64 17), %bb2 ], !dbg !2883
%178 = load i64, i64* %177, !dbg !2883
%179 = add i64 %178, 1, !dbg !2883
store i64 %179, i64* %177, !dbg !2883
%180 = bitcast %"std::panicking::try::Data<imp::nightly_works::{{closure}}::{{closure}}, proc_macro::Span>"* %data to %"core::mem::manually_drop::ManuallyDrop<proc_macro::Span>"*, !dbg !2883
%181 = bitcast %"core::mem::manually_drop::ManuallyDrop<proc_macro::Span>"* %_15 to i8*, !dbg !2883
%182 = bitcast %"core::mem::manually_drop::ManuallyDrop<proc_macro::Span>"* %180 to i8*, !dbg !2883
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %181, i8* align 8 %182, i64 4, i1 false), !dbg !2883
%183 = bitcast %"core::mem::manually_drop::ManuallyDrop<proc_macro::Span>"* %_15 to i32*, !dbg !2884
%184 = load i32, i32* %183, align 4, !dbg !2884
%185 = bitcast %"proc_macro::Span"* %7 to i8*
call void @llvm.lifetime.start.p0i8(i64 4, i8* %185)
%186 = bitcast i32* %8 to i8*
call void @llvm.lifetime.start.p0i8(i64 4, i8* %186)
%187 = bitcast %"core::mem::manually_drop::ManuallyDrop<proc_macro::Span>"* %slot.i to i8*
call void @llvm.lifetime.start.p0i8(i64 4, i8* %187)
store i32 %184, i32* %8, align 4
%188 = bitcast %"core::mem::manually_drop::ManuallyDrop<proc_macro::Span>"* %slot.i to i8*
%189 = bitcast i32* %8 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %188, i8* align 4 %189, i64 4, i1 false)
%190 = bitcast %"core::mem::manually_drop::ManuallyDrop<proc_macro::Span>"* %slot.i to %"proc_macro::Span"*, !dbg !2885
%191 = bitcast %"proc_macro::Span"* %7 to i8*, !dbg !2885
%192 = bitcast %"proc_macro::Span"* %190 to i8*, !dbg !2885
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %191, i8* align 4 %192, i64 4, i1 false), !dbg !2885
%193 = bitcast %"proc_macro::Span"* %7 to i32*, !dbg !2886
%194 = load i32, i32* %193, align 4, !dbg !2886
%195 = bitcast %"proc_macro::Span"* %7 to i8*, !dbg !2886
call void @llvm.lifetime.end.p0i8(i64 4, i8* %195), !dbg !2886
%196 = bitcast i32* %8 to i8*, !dbg !2886
call void @llvm.lifetime.end.p0i8(i64 4, i8* %196), !dbg !2886
%197 = bitcast %"core::mem::manually_drop::ManuallyDrop<proc_macro::Span>"* %slot.i to i8*, !dbg !2886
call void @llvm.lifetime.end.p0i8(i64 4, i8* %197), !dbg !2886
store i32 %194, i32* %10, align 4, !dbg !2884
%198 = bitcast %"proc_macro::Span"* %_14 to i8*, !dbg !2884
%199 = bitcast i32* %10 to i8*, !dbg !2884
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %198, i8* align 4 %199, i64 4, i1 false), !dbg !2884
br label %bb5, !dbg !2884
bb5: ; preds = %bb4
%200 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.27, i64 0, i64 20), %bb4 ], !dbg !2887
%201 = load i64, i64* %200, !dbg !2887
%202 = add i64 %201, 1, !dbg !2887
store i64 %202, i64* %200, !dbg !2887
%203 = bitcast %"core::result::Result<proc_macro::Span, alloc::boxed::Box<core::any::Any>>"* %0 to %"core::result::Result<proc_macro::Span, alloc::boxed::Box<core::any::Any>>::Ok"*, !dbg !2887
%204 = getelementptr inbounds %"core::result::Result<proc_macro::Span, alloc::boxed::Box<core::any::Any>>::Ok", %"core::result::Result<proc_macro::Span, alloc::boxed::Box<core::any::Any>>::Ok"* %203, i32 0, i32 1, !dbg !2887
%205 = bitcast %"proc_macro::Span"* %204 to i8*, !dbg !2887
%206 = bitcast %"proc_macro::Span"* %_14 to i8*, !dbg !2887
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %205, i8* align 4 %206, i64 4, i1 false), !dbg !2887
%207 = bitcast %"core::result::Result<proc_macro::Span, alloc::boxed::Box<core::any::Any>>"* %0 to i32*, !dbg !2887
store i32 0, i32* %207, align 8, !dbg !2887
br label %bb7, !dbg !2874
bb6: ; preds = %bb3
%208 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.27, i64 0, i64 19), %bb3 ], !dbg !2888
%209 = load i64, i64* %208, !dbg !2888
%210 = add i64 %209, 1, !dbg !2888
store i64 %210, i64* %208, !dbg !2888
%211 = bitcast %"core::result::Result<proc_macro::Span, alloc::boxed::Box<core::any::Any>>"* %0 to %"core::result::Result<proc_macro::Span, alloc::boxed::Box<core::any::Any>>::Err"*, !dbg !2888
%212 = getelementptr inbounds %"core::result::Result<proc_macro::Span, alloc::boxed::Box<core::any::Any>>::Err", %"core::result::Result<proc_macro::Span, alloc::boxed::Box<core::any::Any>>::Err"* %211, i32 0, i32 1, !dbg !2888
%213 = getelementptr inbounds { {}*, [3 x i64]* }, { {}*, [3 x i64]* }* %212, i32 0, i32 0, !dbg !2888
store {}* %_17.0, {}** %213, align 8, !dbg !2888
%214 = getelementptr inbounds { {}*, [3 x i64]* }, { {}*, [3 x i64]* }* %212, i32 0, i32 1, !dbg !2888
store [3 x i64]* %_17.1, [3 x i64]** %214, align 8, !dbg !2888
%215 = bitcast %"core::result::Result<proc_macro::Span, alloc::boxed::Box<core::any::Any>>"* %0 to i32*, !dbg !2888
store i32 1, i32* %215, align 8, !dbg !2888
br label %bb7, !dbg !2874
bb7: ; preds = %bb6, %bb5
%216 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.27, i64 0, i64 22), %bb6 ], [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.27, i64 0, i64 21), %bb5 ], !dbg !2889
%217 = load i64, i64* %216, !dbg !2889
%218 = add i64 %217, 1, !dbg !2889
store i64 %218, i64* %216, !dbg !2889
%219 = load i64, i64* getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.27, i64 0, i64 23), !dbg !2889
%220 = add i64 %219, 1, !dbg !2889
store i64 %220, i64* getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.27, i64 0, i64 23), !dbg !2889
ret void, !dbg !2889
}
.section .text._ZN3std9panicking3try17h2c4df7f3f9c79acfE,"ax",@progbits
.globl _ZN3std9panicking3try17h2c4df7f3f9c79acfE
.p2align 4, 0x90
.type _ZN3std9panicking3try17h2c4df7f3f9c79acfE,@function
_ZN3std9panicking3try17h2c4df7f3f9c79acfE:
.Lfunc_begin27:
.loc 27 240 0
.cfi_startproc
.cfi_personality 155, DW.ref.rust_eh_personality
.cfi_lsda 27, .Lexception8
subq $616, %rsp
.cfi_def_cfa_offset 624
movq %rdi, %rax
leaq __llvm_gcov_ctr.27(%rip), %rcx
movq %rdi, 280(%rsp)
movq %rax, 272(%rsp)
movq %rcx, 264(%rsp)
movq 264(%rsp), %rax
leaq __llvm_gcov_ctr.27(%rip), %rcx
addq $8, %rcx
.Ltmp380:
.file 28 "/rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libcore/mem/manually_drop.rs"
.loc 28 68 22 prologue_end
movq (%rax), %rdx
addq $1, %rdx
movq %rdx, (%rax)
movq %rcx, 256(%rsp)
.Ltmp381:
.loc 28 0 22 is_stmt 0
movq 256(%rsp), %rax
leaq __llvm_gcov_ctr.27(%rip), %rcx
addq $16, %rcx
.loc 27 271 20 is_stmt 1
movq (%rax), %rdx
addq $1, %rdx
movq %rdx, (%rax)
.Ltmp382:
.loc 27 273 20
leaq 288(%rsp), %rax
movq %rax, %rdx
movq %rdx, 328(%rsp)
movq %rdx, 480(%rsp)
.Ltmp383:
.loc 27 328 24
movq %rax, 496(%rsp)
.Ltmp384:
.loc 27 329 24
movq %rax, 504(%rsp)
movq %rax, 544(%rsp)
movq %rax, 560(%rsp)
movq %rdx, 248(%rsp)
movq %rax, 240(%rsp)
movq %rcx, 232(%rsp)
.loc 27 0 24 is_stmt 0
movq 232(%rsp), %rax
leaq __llvm_gcov_ctr.27(%rip), %rcx
addq $24, %rcx
movq (%rax), %rdx
addq $1, %rdx
movq %rdx, (%rax)
leaq 552(%rsp), %rax
movq %rax, 592(%rsp)
movq %rax, 600(%rsp)
movq %rax, 224(%rsp)
movq %rcx, 216(%rsp)
movq 216(%rsp), %rax
leaq __llvm_gcov_ctr.27(%rip), %rcx
addq $32, %rcx
.Ltmp385:
.file 29 "/rustc/f509b26a7730d721ef87423a72b3fdf8724b4afa/src/libcore/mem/maybe_uninit.rs"
.loc 29 449 6 is_stmt 1
movq (%rax), %rdx
addq $1, %rdx
movq %rdx, (%rax)
movq %rcx, 208(%rsp)
.Ltmp386:
.loc 29 0 6 is_stmt 0
movq 208(%rsp), %rax
leaq __llvm_gcov_ctr.27(%rip), %rcx
addq $40, %rcx
movq (%rax), %rdx
addq $1, %rdx
movq %rdx, (%rax)
movq 240(%rsp), %rax
movq %rax, 568(%rsp)
movq 224(%rsp), %rdx
movq %rdx, 576(%rsp)
movq $1, 584(%rsp)
movq %rcx, 200(%rsp)
movq 200(%rsp), %rax
leaq __llvm_gcov_ctr.27(%rip), %rcx
addq $48, %rcx
.Ltmp387:
.loc 29 497 31 is_stmt 1
movq (%rax), %rdx
addq $1, %rdx
movq %rdx, (%rax)
movq %rcx, 192(%rsp)
.loc 29 0 31 is_stmt 0
movq 192(%rsp), %rax
leaq __llvm_gcov_ctr.27(%rip), %rcx
addq $56, %rcx
.loc 29 503 6 is_stmt 1
movq (%rax), %rdx
addq $1, %rdx
movq %rdx, (%rax)
movq %rcx, 184(%rsp)
.Ltmp388:
.loc 29 0 6 is_stmt 0
movq 184(%rsp), %rax
leaq __llvm_gcov_ctr.27(%rip), %rcx
addq $64, %rcx
.loc 4 630 2 is_stmt 1
movq (%rax), %rdx
addq $1, %rdx
movq %rdx, (%rax)
movq %rcx, 176(%rsp)
.Ltmp389:
.loc 4 0 2 is_stmt 0
movq 176(%rsp), %rax
leaq __llvm_gcov_ctr.27(%rip), %rcx
addq $72, %rcx
.loc 28 112 6 is_stmt 1
movq (%rax), %rdx
addq $1, %rdx
movq %rdx, (%rax)
movq %rcx, 168(%rsp)
.Ltmp390:
.loc 28 0 6 is_stmt 0
movq 168(%rsp), %rax
.Ltmp391:
.loc 27 331 40 is_stmt 1
movq (%rax), %rcx
addq $1, %rcx
movq %rcx, (%rax)
leaq __llvm_gcov_ctr.27+88(%rip), %rax
leaq __llvm_gcov_ctr.27+80(%rip), %rcx
.Ltmp377:
movq %rax, 160(%rsp)
movq %rcx, 152(%rsp)
callq _ZN11proc_macro23imp13nightly_works28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h918411ad0b79ae9fE
.Ltmp378:
movq 152(%rsp), %rcx
movl %eax, 148(%rsp)
movq %rcx, 136(%rsp)
jmp .LBB27_11
.LBB27_11:
.loc 27 0 40 is_stmt 0
movq 136(%rsp), %rax
leaq __llvm_gcov_ctr.27(%rip), %rcx
addq $96, %rcx
.loc 27 331 40
movq (%rax), %rdx
addq $1, %rdx
movq %rdx, (%rax)
movl 148(%rsp), %esi
movl %esi, 512(%rsp)
movl 512(%rsp), %edi
movl %edi, 472(%rsp)
.loc 27 331 22
movl 472(%rsp), %edi
movl %edi, 524(%rsp)
movl 524(%rsp), %edi
movl %edi, 520(%rsp)
.Ltmp392:
.loc 28 69 24 is_stmt 1
movl 520(%rsp), %edi
movl %edi, 536(%rsp)
.loc 28 69 9 is_stmt 0
movl 536(%rsp), %edi
movl %edi, 528(%rsp)
.loc 28 70 6 is_stmt 1
movl 528(%rsp), %edi
movl %edi, 132(%rsp)
movq %rcx, 120(%rsp)
.Ltmp393:
.loc 28 0 6 is_stmt 0
movq 120(%rsp), %rax
leaq __llvm_gcov_ctr.27(%rip), %rcx
addq $104, %rcx
.loc 27 331 22 is_stmt 1
movq (%rax), %rdx
addq $1, %rdx
movq %rdx, (%rax)
movl 132(%rsp), %esi
movl %esi, 516(%rsp)
movl 516(%rsp), %edi
movl %edi, 464(%rsp)
.loc 27 331 13 is_stmt 0
movl 464(%rsp), %edi
movl %edi, 288(%rsp)
movq %rcx, 112(%rsp)
.Ltmp394:
.loc 27 0 13
movq 112(%rsp), %rax
leaq __llvm_gcov_ctr.27(%rip), %rcx
addq $112, %rcx
xorl %edx, %edx
.loc 27 274 15 is_stmt 1
movq (%rax), %rsi
addq $1, %rsi
movq %rsi, (%rax)
movq %rcx, 104(%rsp)
movl %edx, 100(%rsp)
jmp .LBB27_15
.LBB27_14:
.loc 27 0 15 is_stmt 0
movq 160(%rsp), %rcx
movl $1, %esi
.Ltmp379:
leaq __llvm_gcov_ctr.27(%rip), %rdi
addq $120, %rdi
.loc 27 274 15
movq (%rcx), %r8
addq $1, %r8
movq %r8, (%rcx)
movq 248(%rsp), %rcx
movq %rcx, 384(%rsp)
movq %rax, 392(%rsp)
leaq 288(%rsp), %r8
.Ltmp395:
.loc 27 341 24 is_stmt 1
movq %r8, 400(%rsp)
.Ltmp396:
.loc 27 342 24
movq %r8, 408(%rsp)
.Ltmp397:
.loc 27 343 23
movq _ZN3std9panicking3try7cleanup17h97268322f249355eE@GOTPCREL(%rip), %r8
movq %rdi, 88(%rsp)
movq %rax, %rdi
movl %esi, 84(%rsp)
movq %rdx, 72(%rsp)
callq *%r8
movq %rax, 416(%rsp)
movq %rdx, 424(%rsp)
movq %rax, 448(%rsp)
movq %rdx, 456(%rsp)
.Ltmp398:
.loc 28 69 9
movq %rax, 432(%rsp)
movq %rdx, 440(%rsp)
.loc 28 70 6
movq 432(%rsp), %rax
movq 440(%rsp), %rcx
.Ltmp399:
.loc 27 344 13
movq %rax, 288(%rsp)
movq %rcx, 296(%rsp)
movq 88(%rsp), %rax
movl 84(%rsp), %esi
movq %rax, 104(%rsp)
movl %esi, 100(%rsp)
.Ltmp400:
.LBB27_15:
.loc 27 0 13 is_stmt 0
movl 100(%rsp), %eax
movq 104(%rsp), %rcx
leaq __llvm_gcov_ctr.27(%rip), %rdx
addq $128, %rdx
.loc 27 274 15 is_stmt 1
movq (%rcx), %rsi
addq $1, %rsi
movq %rsi, (%rcx)
movl %eax, 336(%rsp)
movl 336(%rsp), %eax
movl %eax, 68(%rsp)
movq %rdx, 56(%rsp)
.loc 27 0 15 is_stmt 0
movq 56(%rsp), %rax
leaq __llvm_gcov_ctr.27(%rip), %rcx
movq %rcx, %rdx
addq $136, %rdx
addq $144, %rcx
.loc 27 274 15
movq (%rax), %rsi
addq $1, %rsi
movq %rsi, (%rax)
movl 68(%rsp), %edi
cmpl $0, %edi
movq %rcx, 48(%rsp)
movq %rdx, 40(%rsp)
.loc 27 274 12
je .LBB27_18
.loc 27 0 12
movq 48(%rsp), %rax
leaq __llvm_gcov_ctr.27(%rip), %rcx
addq $152, %rcx
.loc 27 277 38 is_stmt 1
movq (%rax), %rdx
addq $1, %rdx
movq %rdx, (%rax)
movq 288(%rsp), %rax
movq 296(%rsp), %rdx
movq %rax, 368(%rsp)
movq %rdx, 376(%rsp)
movq %rax, 32(%rsp)
movq %rdx, 24(%rsp)
movq %rcx, 16(%rsp)
.loc 27 277 13 is_stmt 0
jmp .LBB27_20
.LBB27_18:
.loc 27 0 13
movq 40(%rsp), %rax
leaq __llvm_gcov_ctr.27(%rip), %rcx
addq $160, %rcx
.loc 27 275 37 is_stmt 1
movq (%rax), %rdx
addq $1, %rdx
movq %rdx, (%rax)
movl 288(%rsp), %esi
movl %esi, 312(%rsp)
.loc 27 275 12 is_stmt 0
movl 312(%rsp), %esi
movl %esi, 356(%rsp)
movl 356(%rsp), %esi
movl %esi, 352(%rsp)
.Ltmp401:
.loc 28 87 9 is_stmt 1
movl 352(%rsp), %esi
movl %esi, 360(%rsp)
.loc 28 88 6
movl 360(%rsp), %esi
.Ltmp402:
.loc 27 275 12
movl %esi, 340(%rsp)
movl 340(%rsp), %esi
movl %esi, 304(%rsp)
movq %rcx, 8(%rsp)
.loc 27 0 12 is_stmt 0
movq 8(%rsp), %rax
leaq __llvm_gcov_ctr.27(%rip), %rcx
addq $168, %rcx
.loc 27 275 9
movq (%rax), %rdx
addq $1, %rdx
movq %rdx, (%rax)
movl 304(%rsp), %esi
movq 280(%rsp), %rax
movl %esi, 4(%rax)
movl $0, (%rax)
movq %rcx, (%rsp)
.loc 27 274 12 is_stmt 1
jmp .LBB27_21
.LBB27_20:
.loc 27 0 12 is_stmt 0
movq 16(%rsp), %rax
leaq __llvm_gcov_ctr.27(%rip), %rcx
addq $176, %rcx
.loc 27 277 9 is_stmt 1
movq (%rax), %rdx
addq $1, %rdx
movq %rdx, (%rax)
movq 280(%rsp), %rax
movq 32(%rsp), %rdx
movq %rdx, 8(%rax)
movq 24(%rsp), %rsi
movq %rsi, 16(%rax)
movl $1, (%rax)
movq %rcx, (%rsp)
.Ltmp403:
.LBB27_21:
.loc 27 0 9 is_stmt 0
movq (%rsp), %rax
.loc 27 347 2 is_stmt 1
movq (%rax), %rcx
addq $1, %rcx
movq %rcx, (%rax)
movq __llvm_gcov_ctr.27+184(%rip), %rax
addq $1, %rax
movq %rax, __llvm_gcov_ctr.27+184(%rip)
movq 272(%rsp), %rax
addq $616, %rsp
.cfi_def_cfa_offset 8
retq
.Ltmp404:
.Lfunc_end27:
.size _ZN3std9panicking3try17h2c4df7f3f9c79acfE, .Lfunc_end27-_ZN3std9panicking3try17h2c4df7f3f9c79acfE
.cfi_endproc
.section .gcc_except_table,"a",@progbits
.p2align 2
GCC_except_table27:
.Lexception8:
.byte 255
.byte 156
.uleb128 .Lttbase0-.Lttbaseref0
.Lttbaseref0:
.byte 1
.uleb128 .Lcst_end8-.Lcst_begin8
.Lcst_begin8:
.uleb128 .Ltmp377-.Lfunc_begin27
.uleb128 .Ltmp378-.Ltmp377
.uleb128 .Ltmp379-.Lfunc_begin27
.byte 1
.uleb128 .Ltmp378-.Lfunc_begin27
.uleb128 .Lfunc_end27-.Ltmp378
.byte 0
.byte 0
.Lcst_end8:
.byte 1
.byte 0
.p2align 2
.quad 0
.Lttbase0:
.p2align 2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment