Skip to content

Instantly share code, notes, and snippets.

@Amanieu
Last active March 19, 2020 23:00
Show Gist options
  • Select an option

  • Save Amanieu/8b809982906bf291133a72363d3662ee to your computer and use it in GitHub Desktop.

Select an option

Save Amanieu/8b809982906bf291133a72363d3662ee to your computer and use it in GitHub Desktop.
; std::panicking::try
; Function Attrs: nonlazybind uwtable
define void @_ZN3std9panicking3try17h798c4ca7bded36a6E(%"core::result::Result<core::result::Result<proc_macro::TokenStream, imp::LexError>, alloc::boxed::Box<core::any::Any>>"* noalias nocapture sret dereferenceable(24), i64* noalias readonly align 8 dereferenceable(16) %f) unnamed_addr #1 personality i32 (i32, i32, i64, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality !dbg !2890 {
start:
%1 = alloca i8*, align 8
%self.dbg.spill.i20 = alloca i64**, align 8
call void @llvm.dbg.declare(metadata i64*** %self.dbg.spill.i20, metadata !2912, metadata !DIExpression()), !dbg !2919
%self.dbg.spill.i17 = alloca i8**, align 8
call void @llvm.dbg.declare(metadata i8*** %self.dbg.spill.i17, metadata !2931, metadata !DIExpression()), !dbg !2960
%count.dbg.spill.i = alloca i64, align 8
call void @llvm.dbg.declare(metadata i64* %count.dbg.spill.i, metadata !2961, metadata !DIExpression()), !dbg !2968
%dst.dbg.spill.i = alloca i64**, align 8
call void @llvm.dbg.declare(metadata i64*** %dst.dbg.spill.i, metadata !2967, metadata !DIExpression()), !dbg !2970
%src.dbg.spill.i16 = alloca i64**, align 8
call void @llvm.dbg.declare(metadata i64*** %src.dbg.spill.i16, metadata !2966, metadata !DIExpression()), !dbg !2971
%slot.dbg.spill.i15 = alloca i64*, align 8
call void @llvm.dbg.declare(metadata i64** %slot.dbg.spill.i15, metadata !2972, metadata !DIExpression()), !dbg !2977
%self.dbg.spill.i = alloca i8*, align 8
call void @llvm.dbg.declare(metadata i8** %self.dbg.spill.i, metadata !2983, metadata !DIExpression()), !dbg !2985
%src.dbg.spill.i = alloca i64**, align 8
call void @llvm.dbg.declare(metadata i64*** %src.dbg.spill.i, metadata !2939, metadata !DIExpression()), !dbg !2986
%tmp.i = alloca i8*, align 8
call void @llvm.dbg.declare(metadata i8** %tmp.i, metadata !2940, metadata !DIExpression()), !dbg !2987
%slot.dbg.spill.i7 = alloca i64**, align 8
call void @llvm.dbg.declare(metadata i64*** %slot.dbg.spill.i7, metadata !2946, metadata !DIExpression()), !dbg !2988
%_2.i = alloca %"core::result::Result<proc_macro::TokenStream, imp::LexError>", align 4
%2 = alloca %"core::mem::manually_drop::ManuallyDrop<core::result::Result<proc_macro::TokenStream, imp::LexError>>", align 4
%3 = alloca i64, align 8
%value.i = alloca %"core::result::Result<proc_macro::TokenStream, imp::LexError>", align 4
call void @llvm.dbg.declare(metadata %"core::result::Result<proc_macro::TokenStream, imp::LexError>"* %value.i, metadata !2989, metadata !DIExpression()), !dbg !2994
%4 = alloca i64, align 8
%5 = alloca i64, align 8
%f.dbg.spill.i = alloca i64*, align 8
call void @llvm.dbg.declare(metadata i64** %f.dbg.spill.i, metadata !2957, metadata !DIExpression()), !dbg !2996
%data.dbg.spill3.i2 = alloca %"std::panicking::try::Data<imp::proc_macro_parse::{{closure}}, core::result::Result<proc_macro::TokenStream, imp::LexError>>"*, align 8
call void @llvm.dbg.declare(metadata %"std::panicking::try::Data<imp::proc_macro_parse::{{closure}}, core::result::Result<proc_macro::TokenStream, imp::LexError>>"** %data.dbg.spill3.i2, metadata !2955, metadata !DIExpression()), !dbg !2997
%data.dbg.spill2.i3 = alloca %"std::panicking::try::Data<imp::proc_macro_parse::{{closure}}, core::result::Result<proc_macro::TokenStream, imp::LexError>>"*, align 8
call void @llvm.dbg.declare(metadata %"std::panicking::try::Data<imp::proc_macro_parse::{{closure}}, core::result::Result<proc_macro::TokenStream, imp::LexError>>"** %data.dbg.spill2.i3, metadata !2953, metadata !DIExpression()), !dbg !2998
%data.dbg.spill.i4 = alloca i8*, align 8
call void @llvm.dbg.declare(metadata i8** %data.dbg.spill.i4, metadata !2952, metadata !DIExpression()), !dbg !2999
%_9.i = alloca %"core::result::Result<proc_macro::TokenStream, imp::LexError>", align 4
%_8.i = alloca %"core::mem::manually_drop::ManuallyDrop<core::result::Result<proc_macro::TokenStream, imp::LexError>>", align 4
%value.dbg.spill.i1 = alloca { {}*, [3 x i64]* }, align 8
call void @llvm.dbg.declare(metadata { {}*, [3 x i64]* }* %value.dbg.spill.i1, metadata !2766, metadata !DIExpression()), !dbg !3000
%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 !3011, metadata !DIExpression()), !dbg !3013
%data.dbg.spill3.i = alloca %"std::panicking::try::Data<imp::proc_macro_parse::{{closure}}, core::result::Result<proc_macro::TokenStream, imp::LexError>>"*, align 8
call void @llvm.dbg.declare(metadata %"std::panicking::try::Data<imp::proc_macro_parse::{{closure}}, core::result::Result<proc_macro::TokenStream, imp::LexError>>"** %data.dbg.spill3.i, metadata !3010, metadata !DIExpression()), !dbg !3014
%data.dbg.spill2.i = alloca %"std::panicking::try::Data<imp::proc_macro_parse::{{closure}}, core::result::Result<proc_macro::TokenStream, imp::LexError>>"*, align 8
call void @llvm.dbg.declare(metadata %"std::panicking::try::Data<imp::proc_macro_parse::{{closure}}, core::result::Result<proc_macro::TokenStream, imp::LexError>>"** %data.dbg.spill2.i, metadata !3009, metadata !DIExpression()), !dbg !3015
%payload.dbg.spill.i = alloca i8*, align 8
call void @llvm.dbg.declare(metadata i8** %payload.dbg.spill.i, metadata !3008, metadata !DIExpression()), !dbg !3016
%data.dbg.spill.i = alloca i8*, align 8
call void @llvm.dbg.declare(metadata i8** %data.dbg.spill.i, metadata !3007, metadata !DIExpression()), !dbg !3017
%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 !3018
%7 = alloca %"core::result::Result<proc_macro::TokenStream, imp::LexError>", align 4
%8 = alloca i64, align 8
%slot.i = alloca %"core::mem::manually_drop::ManuallyDrop<core::result::Result<proc_macro::TokenStream, imp::LexError>>", align 4
call void @llvm.dbg.declare(metadata %"core::mem::manually_drop::ManuallyDrop<core::result::Result<proc_macro::TokenStream, imp::LexError>>"* %slot.i, metadata !3020, metadata !DIExpression()), !dbg !3025
%value.dbg.spill.i = alloca i64*, align 8
call void @llvm.dbg.declare(metadata i64** %value.dbg.spill.i, metadata !3027, metadata !DIExpression()), !dbg !3032
%9 = alloca i64*, align 8
%10 = alloca i64, align 8
%11 = alloca i32, align 4
%data_ptr.dbg.spill = alloca i8*, align 8
%f.dbg.spill = alloca i64*, align 8
%_15 = alloca %"core::mem::manually_drop::ManuallyDrop<core::result::Result<proc_macro::TokenStream, imp::LexError>>", align 4
%_14 = alloca %"core::result::Result<proc_macro::TokenStream, imp::LexError>", align 4
%data = alloca %"std::panicking::try::Data<imp::proc_macro_parse::{{closure}}, core::result::Result<proc_macro::TokenStream, imp::LexError>>", align 8
br label %12
12: ; preds = %start
%13 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.28, i64 0, i64 0), %start ]
%14 = load i64, i64* %13
%15 = add i64 %14, 1
store i64 %15, i64* %13
store i64* %f, i64** %f.dbg.spill, align 8
call void @llvm.dbg.declare(metadata i64** %f.dbg.spill, metadata !2892, metadata !DIExpression()), !dbg !3034
call void @llvm.dbg.declare(metadata %"std::panicking::try::Data<imp::proc_macro_parse::{{closure}}, core::result::Result<proc_macro::TokenStream, imp::LexError>>"* %data, metadata !2893, metadata !DIExpression()), !dbg !3035
%16 = bitcast i64** %value.dbg.spill.i to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %16)
%17 = bitcast i64** %9 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %17)
store i64* %f, i64** %value.dbg.spill.i, align 8, !noalias !3036
store i64* %f, i64** %9, align 8, !dbg !3039, !noalias !3036
%18 = load i64*, i64** %9, align 8, !dbg !3040, !noalias !3036, !nonnull !4
%19 = bitcast i64** %value.dbg.spill.i to i8*, !dbg !3040
call void @llvm.lifetime.end.p0i8(i64 8, i8* %19), !dbg !3040
%20 = bitcast i64** %9 to i8*, !dbg !3040
call void @llvm.lifetime.end.p0i8(i64 8, i8* %20), !dbg !3040
br label %bb1, !dbg !3041
bb1: ; preds = %12
%21 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.28, i64 0, i64 1), %12 ], !dbg !3042
%22 = load i64, i64* %21, !dbg !3042
%23 = add i64 %22, 1, !dbg !3042
store i64 %23, i64* %21, !dbg !3042
%24 = bitcast %"std::panicking::try::Data<imp::proc_macro_parse::{{closure}}, core::result::Result<proc_macro::TokenStream, imp::LexError>>"* %data to i64**, !dbg !3042
store i64* %18, i64** %24, align 8, !dbg !3042
%data_ptr = bitcast %"std::panicking::try::Data<imp::proc_macro_parse::{{closure}}, core::result::Result<proc_macro::TokenStream, imp::LexError>>"* %data to i8*, !dbg !3043
store i8* %data_ptr, i8** %data_ptr.dbg.spill, align 8, !dbg !3043
call void @llvm.dbg.declare(metadata i8** %data_ptr.dbg.spill, metadata !2909, metadata !DIExpression()), !dbg !3044
%25 = bitcast i64* %4 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %25)
%26 = bitcast i64* %5 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %26)
%27 = bitcast i64** %f.dbg.spill.i to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %27)
%28 = bitcast %"std::panicking::try::Data<imp::proc_macro_parse::{{closure}}, core::result::Result<proc_macro::TokenStream, imp::LexError>>"** %data.dbg.spill3.i2 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %28)
%29 = bitcast %"std::panicking::try::Data<imp::proc_macro_parse::{{closure}}, core::result::Result<proc_macro::TokenStream, imp::LexError>>"** %data.dbg.spill2.i3 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %29)
%30 = bitcast i8** %data.dbg.spill.i4 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %30)
%31 = bitcast %"core::result::Result<proc_macro::TokenStream, imp::LexError>"* %_9.i to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %31)
%32 = bitcast %"core::mem::manually_drop::ManuallyDrop<core::result::Result<proc_macro::TokenStream, imp::LexError>>"* %_8.i to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %32)
store i8* %data_ptr, i8** %data.dbg.spill.i4, align 8
store %"std::panicking::try::Data<imp::proc_macro_parse::{{closure}}, core::result::Result<proc_macro::TokenStream, imp::LexError>>"* %data, %"std::panicking::try::Data<imp::proc_macro_parse::{{closure}}, core::result::Result<proc_macro::TokenStream, imp::LexError>>"** %data.dbg.spill2.i3, align 8, !dbg !3045
store %"std::panicking::try::Data<imp::proc_macro_parse::{{closure}}, core::result::Result<proc_macro::TokenStream, imp::LexError>>"* %data, %"std::panicking::try::Data<imp::proc_macro_parse::{{closure}}, core::result::Result<proc_macro::TokenStream, imp::LexError>>"** %data.dbg.spill3.i2, align 8, !dbg !3046
%_7.i = bitcast %"std::panicking::try::Data<imp::proc_macro_parse::{{closure}}, core::result::Result<proc_macro::TokenStream, imp::LexError>>"* %data to i64**, !dbg !3047
%33 = bitcast i64*** %slot.dbg.spill.i7 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %33)
store i64** %_7.i, i64*** %slot.dbg.spill.i7, align 8
%34 = bitcast i64*** %src.dbg.spill.i to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %34)
%35 = bitcast i8** %tmp.i to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %35)
store i64** %_7.i, i64*** %src.dbg.spill.i, align 8
%36 = bitcast i8** %1 to i8*, !dbg !3048
call void @llvm.lifetime.start.p0i8(i64 8, i8* %36), !dbg !3048
%37 = bitcast i8** %1 to {}*, !dbg !3048
%38 = load i8*, i8** %1, align 8, !dbg !3053
%39 = bitcast i8** %1 to i8*, !dbg !3053
call void @llvm.lifetime.end.p0i8(i64 8, i8* %39), !dbg !3053
br label %.noexc10, !dbg !3053
.noexc10: ; preds = %bb1
%40 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.28, i64 0, i64 2), %bb1 ], !dbg !3054
%41 = load i64, i64* %40, !dbg !3054
%42 = add i64 %41, 1, !dbg !3054
store i64 %42, i64* %40, !dbg !3054
store i8* %38, i8** %tmp.i, align 8, !dbg !3054
%43 = bitcast i8*** %self.dbg.spill.i17 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %43)
store i8** %tmp.i, i8*** %self.dbg.spill.i17, align 8
%_4.i = bitcast i8** %tmp.i to i64**, !dbg !3055
%44 = bitcast i64*** %self.dbg.spill.i20 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %44)
store i64** %_4.i, i64*** %self.dbg.spill.i20, align 8
%45 = bitcast i64*** %self.dbg.spill.i20 to i8*, !dbg !3056
call void @llvm.lifetime.end.p0i8(i64 8, i8* %45), !dbg !3056
br label %"_ZN4core3mem12maybe_uninit20MaybeUninit$LT$T$GT$10as_mut_ptr17h3aa36a16b4891551E.exit", !dbg !3056
"_ZN4core3mem12maybe_uninit20MaybeUninit$LT$T$GT$10as_mut_ptr17h3aa36a16b4891551E.exit": ; preds = %.noexc10
%46 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.28, i64 0, i64 3), %.noexc10 ], !dbg !3057
%47 = load i64, i64* %46, !dbg !3057
%48 = add i64 %47, 1, !dbg !3057
store i64 %48, i64* %46, !dbg !3057
%49 = bitcast i8*** %self.dbg.spill.i17 to i8*, !dbg !3057
call void @llvm.lifetime.end.p0i8(i64 8, i8* %49), !dbg !3057
br label %_5.i.noexc, !dbg !3057
_5.i.noexc: ; preds = %"_ZN4core3mem12maybe_uninit20MaybeUninit$LT$T$GT$10as_mut_ptr17h3aa36a16b4891551E.exit"
%50 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.28, i64 0, i64 4), %"_ZN4core3mem12maybe_uninit20MaybeUninit$LT$T$GT$10as_mut_ptr17h3aa36a16b4891551E.exit" ]
%51 = load i64, i64* %50
%52 = add i64 %51, 1
store i64 %52, i64* %50
%53 = bitcast i64* %count.dbg.spill.i to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %53)
%54 = bitcast i64*** %dst.dbg.spill.i to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %54)
%55 = bitcast i64*** %src.dbg.spill.i16 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %55)
store i64** %_7.i, i64*** %src.dbg.spill.i16, align 8
store i64** %_4.i, i64*** %dst.dbg.spill.i, align 8
store i64 1, i64* %count.dbg.spill.i, align 8
%56 = bitcast i64** %_4.i to i8*, !dbg !3058
%57 = bitcast i64** %_7.i to i8*, !dbg !3058
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %56, i8* align 8 %57, i64 8, i1 false), !dbg !3058
%58 = bitcast i64* %count.dbg.spill.i to i8*, !dbg !3059
call void @llvm.lifetime.end.p0i8(i64 8, i8* %58), !dbg !3059
%59 = bitcast i64*** %dst.dbg.spill.i to i8*, !dbg !3059
call void @llvm.lifetime.end.p0i8(i64 8, i8* %59), !dbg !3059
%60 = bitcast i64*** %src.dbg.spill.i16 to i8*, !dbg !3059
call void @llvm.lifetime.end.p0i8(i64 8, i8* %60), !dbg !3059
br label %.noexc12, !dbg !3059
.noexc12: ; preds = %_5.i.noexc
%61 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.28, i64 0, i64 5), %_5.i.noexc ], !dbg !3060
%62 = load i64, i64* %61, !dbg !3060
%63 = add i64 %62, 1, !dbg !3060
store i64 %63, i64* %61, !dbg !3060
%_7.i9 = load i8*, i8** %tmp.i, align 8, !dbg !3060
%64 = bitcast i8** %self.dbg.spill.i to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %64)
store i8* %_7.i9, i8** %self.dbg.spill.i, align 8
%_3.i = bitcast i8* %_7.i9 to i64*, !dbg !3061
%65 = bitcast i64** %slot.dbg.spill.i15 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %65)
store i64* %_3.i, i64** %slot.dbg.spill.i15, align 8, !noalias !3062
%66 = bitcast i64** %slot.dbg.spill.i15 to i8*, !dbg !3065
call void @llvm.lifetime.end.p0i8(i64 8, i8* %66), !dbg !3065
br label %"_ZN4core3mem12maybe_uninit20MaybeUninit$LT$T$GT$11assume_init17h07d6920d6d98d12bE.exit", !dbg !3065
"_ZN4core3mem12maybe_uninit20MaybeUninit$LT$T$GT$11assume_init17h07d6920d6d98d12bE.exit": ; preds = %.noexc12
%67 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.28, i64 0, i64 6), %.noexc12 ], !dbg !3066
%68 = load i64, i64* %67, !dbg !3066
%69 = add i64 %68, 1, !dbg !3066
store i64 %69, i64* %67, !dbg !3066
%70 = bitcast i8** %self.dbg.spill.i to i8*, !dbg !3066
call void @llvm.lifetime.end.p0i8(i64 8, i8* %70), !dbg !3066
br label %_ZN4core3ptr4read17h87039b83fe842100E.exit, !dbg !3066
_ZN4core3ptr4read17h87039b83fe842100E.exit: ; preds = %"_ZN4core3mem12maybe_uninit20MaybeUninit$LT$T$GT$11assume_init17h07d6920d6d98d12bE.exit"
%71 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.28, i64 0, i64 7), %"_ZN4core3mem12maybe_uninit20MaybeUninit$LT$T$GT$11assume_init17h07d6920d6d98d12bE.exit" ], !dbg !3067
%72 = load i64, i64* %71, !dbg !3067
%73 = add i64 %72, 1, !dbg !3067
store i64 %73, i64* %71, !dbg !3067
%74 = bitcast i64*** %src.dbg.spill.i to i8*, !dbg !3067
call void @llvm.lifetime.end.p0i8(i64 8, i8* %74), !dbg !3067
%75 = bitcast i8** %tmp.i to i8*, !dbg !3067
call void @llvm.lifetime.end.p0i8(i64 8, i8* %75), !dbg !3067
br label %"_ZN4core3mem13manually_drop21ManuallyDrop$LT$T$GT$4take17hadd935f24105f1b0E.exit", !dbg !3067
"_ZN4core3mem13manually_drop21ManuallyDrop$LT$T$GT$4take17hadd935f24105f1b0E.exit": ; preds = %_ZN4core3ptr4read17h87039b83fe842100E.exit
%76 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.28, i64 0, i64 8), %_ZN4core3ptr4read17h87039b83fe842100E.exit ], !dbg !3068
%77 = load i64, i64* %76, !dbg !3068
%78 = add i64 %77, 1, !dbg !3068
store i64 %78, i64* %76, !dbg !3068
%79 = bitcast i64*** %slot.dbg.spill.i7 to i8*, !dbg !3068
call void @llvm.lifetime.end.p0i8(i64 8, i8* %79), !dbg !3068
br label %f.i.noexc, !dbg !3068
f.i.noexc: ; preds = %"_ZN4core3mem13manually_drop21ManuallyDrop$LT$T$GT$4take17hadd935f24105f1b0E.exit"
%80 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.28, i64 0, i64 9), %"_ZN4core3mem13manually_drop21ManuallyDrop$LT$T$GT$4take17hadd935f24105f1b0E.exit" ], !dbg !3069
%81 = load i64, i64* %80, !dbg !3069
%82 = add i64 %81, 1, !dbg !3069
store i64 %82, i64* %80, !dbg !3069
store i64* %_3.i, i64** %f.dbg.spill.i, align 8, !dbg !3069
; invoke proc_macro2::imp::proc_macro_parse::{{closure}}
%83 = invoke i64 @"_ZN11proc_macro23imp16proc_macro_parse28_$u7b$$u7b$closure$u7d$$u7d$17h2474aa3ead5f269eE"(i64* noalias readonly align 8 dereferenceable(16) %_3.i)
to label %.noexc unwind label %catch.i, !dbg !3070
.noexc: ; preds = %f.i.noexc
%84 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.28, i64 0, i64 10), %f.i.noexc ], !dbg !3070
%85 = load i64, i64* %84, !dbg !3070
%86 = add i64 %85, 1, !dbg !3070
store i64 %86, i64* %84, !dbg !3070
store i64 %83, i64* %5, align 8, !dbg !3070
%87 = bitcast %"core::result::Result<proc_macro::TokenStream, imp::LexError>"* %_9.i to i8*, !dbg !3070
%88 = bitcast i64* %5 to i8*, !dbg !3070
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %87, i8* align 8 %88, i64 8, i1 false), !dbg !3070
%89 = bitcast %"core::result::Result<proc_macro::TokenStream, imp::LexError>"* %_9.i to i64*, !dbg !3071
%90 = load i64, i64* %89, align 4, !dbg !3071
%91 = bitcast %"core::result::Result<proc_macro::TokenStream, imp::LexError>"* %_2.i to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %91)
%92 = bitcast %"core::mem::manually_drop::ManuallyDrop<core::result::Result<proc_macro::TokenStream, imp::LexError>>"* %2 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %92)
%93 = bitcast i64* %3 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %93)
%94 = bitcast %"core::result::Result<proc_macro::TokenStream, imp::LexError>"* %value.i to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %94)
store i64 %90, i64* %3, align 8
%95 = bitcast %"core::result::Result<proc_macro::TokenStream, imp::LexError>"* %value.i to i8*
%96 = bitcast i64* %3 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %95, i8* align 8 %96, i64 8, i1 false)
%97 = bitcast %"core::result::Result<proc_macro::TokenStream, imp::LexError>"* %_2.i to i8*, !dbg !3072
%98 = bitcast %"core::result::Result<proc_macro::TokenStream, imp::LexError>"* %value.i to i8*, !dbg !3072
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %97, i8* align 4 %98, i64 8, i1 false), !dbg !3072
%99 = bitcast %"core::mem::manually_drop::ManuallyDrop<core::result::Result<proc_macro::TokenStream, imp::LexError>>"* %2 to %"core::result::Result<proc_macro::TokenStream, imp::LexError>"*, !dbg !3073
%100 = bitcast %"core::result::Result<proc_macro::TokenStream, imp::LexError>"* %99 to i8*, !dbg !3073
%101 = bitcast %"core::result::Result<proc_macro::TokenStream, imp::LexError>"* %_2.i to i8*, !dbg !3073
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %100, i8* align 4 %101, i64 8, i1 false), !dbg !3073
%102 = bitcast %"core::mem::manually_drop::ManuallyDrop<core::result::Result<proc_macro::TokenStream, imp::LexError>>"* %2 to i64*, !dbg !3074
%103 = load i64, i64* %102, align 4, !dbg !3074
%104 = bitcast %"core::result::Result<proc_macro::TokenStream, imp::LexError>"* %_2.i to i8*, !dbg !3074
call void @llvm.lifetime.end.p0i8(i64 8, i8* %104), !dbg !3074
%105 = bitcast %"core::mem::manually_drop::ManuallyDrop<core::result::Result<proc_macro::TokenStream, imp::LexError>>"* %2 to i8*, !dbg !3074
call void @llvm.lifetime.end.p0i8(i64 8, i8* %105), !dbg !3074
%106 = bitcast i64* %3 to i8*, !dbg !3074
call void @llvm.lifetime.end.p0i8(i64 8, i8* %106), !dbg !3074
%107 = bitcast %"core::result::Result<proc_macro::TokenStream, imp::LexError>"* %value.i to i8*, !dbg !3074
call void @llvm.lifetime.end.p0i8(i64 8, i8* %107), !dbg !3074
br label %_ZN3std9panicking3try7do_call17hcfe14690490a6707E.exit, !dbg !3074
_ZN3std9panicking3try7do_call17hcfe14690490a6707E.exit: ; preds = %.noexc
%108 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.28, i64 0, i64 12), %.noexc ], !dbg !3071
%109 = load i64, i64* %108, !dbg !3071
%110 = add i64 %109, 1, !dbg !3071
store i64 %110, i64* %108, !dbg !3071
store i64 %103, i64* %4, align 8, !dbg !3071
%111 = bitcast %"core::mem::manually_drop::ManuallyDrop<core::result::Result<proc_macro::TokenStream, imp::LexError>>"* %_8.i to i8*, !dbg !3071
%112 = bitcast i64* %4 to i8*, !dbg !3071
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %111, i8* align 8 %112, i64 8, i1 false), !dbg !3071
%113 = bitcast %"std::panicking::try::Data<imp::proc_macro_parse::{{closure}}, core::result::Result<proc_macro::TokenStream, imp::LexError>>"* %data to %"core::mem::manually_drop::ManuallyDrop<core::result::Result<proc_macro::TokenStream, imp::LexError>>"*, !dbg !3075
%114 = bitcast %"core::mem::manually_drop::ManuallyDrop<core::result::Result<proc_macro::TokenStream, imp::LexError>>"* %113 to i8*, !dbg !3075
%115 = bitcast %"core::mem::manually_drop::ManuallyDrop<core::result::Result<proc_macro::TokenStream, imp::LexError>>"* %_8.i to i8*, !dbg !3075
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %114, i8* align 4 %115, i64 8, i1 false), !dbg !3075
%116 = bitcast i64* %4 to i8*, !dbg !3076
call void @llvm.lifetime.end.p0i8(i64 8, i8* %116), !dbg !3076
%117 = bitcast i64* %5 to i8*, !dbg !3076
call void @llvm.lifetime.end.p0i8(i64 8, i8* %117), !dbg !3076
%118 = bitcast i64** %f.dbg.spill.i to i8*, !dbg !3076
call void @llvm.lifetime.end.p0i8(i64 8, i8* %118), !dbg !3076
%119 = bitcast %"std::panicking::try::Data<imp::proc_macro_parse::{{closure}}, core::result::Result<proc_macro::TokenStream, imp::LexError>>"** %data.dbg.spill3.i2 to i8*, !dbg !3076
call void @llvm.lifetime.end.p0i8(i64 8, i8* %119), !dbg !3076
%120 = bitcast %"std::panicking::try::Data<imp::proc_macro_parse::{{closure}}, core::result::Result<proc_macro::TokenStream, imp::LexError>>"** %data.dbg.spill2.i3 to i8*, !dbg !3076
call void @llvm.lifetime.end.p0i8(i64 8, i8* %120), !dbg !3076
%121 = bitcast i8** %data.dbg.spill.i4 to i8*, !dbg !3076
call void @llvm.lifetime.end.p0i8(i64 8, i8* %121), !dbg !3076
%122 = bitcast %"core::result::Result<proc_macro::TokenStream, imp::LexError>"* %_9.i to i8*, !dbg !3076
call void @llvm.lifetime.end.p0i8(i64 8, i8* %122), !dbg !3076
%123 = bitcast %"core::mem::manually_drop::ManuallyDrop<core::result::Result<proc_macro::TokenStream, imp::LexError>>"* %_8.i to i8*, !dbg !3076
call void @llvm.lifetime.end.p0i8(i64 8, i8* %123), !dbg !3076
br label %then.i, !dbg !3076
then.i: ; preds = %_ZN3std9panicking3try7do_call17hcfe14690490a6707E.exit
%124 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.28, i64 0, i64 13), %_ZN3std9panicking3try7do_call17hcfe14690490a6707E.exit ], !dbg !3077
%125 = load i64, i64* %124, !dbg !3077
%126 = add i64 %125, 1, !dbg !3077
store i64 %126, i64* %124, !dbg !3077
br label %__rust_try.exit, !dbg !3077
catch.i: ; preds = %f.i.noexc
%127 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.28, i64 0, i64 11), %f.i.noexc ], !dbg !3077
%128 = landingpad { i8*, i32 }
catch i8* null, !dbg !3077
%129 = load i64, i64* %127, !dbg !3077
%130 = add i64 %129, 1, !dbg !3077
store i64 %130, i64* %127, !dbg !3077
%131 = extractvalue { i8*, i32 } %128, 0, !dbg !3077
%132 = bitcast { {}*, [3 x i64]* }* %obj.dbg.spill.i to i8*
call void @llvm.lifetime.start.p0i8(i64 16, i8* %132)
%133 = bitcast %"std::panicking::try::Data<imp::proc_macro_parse::{{closure}}, core::result::Result<proc_macro::TokenStream, imp::LexError>>"** %data.dbg.spill3.i to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %133)
%134 = bitcast %"std::panicking::try::Data<imp::proc_macro_parse::{{closure}}, core::result::Result<proc_macro::TokenStream, imp::LexError>>"** %data.dbg.spill2.i to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %134)
%135 = bitcast i8** %payload.dbg.spill.i to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %135)
%136 = bitcast i8** %data.dbg.spill.i to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %136)
store i8* %data_ptr, i8** %data.dbg.spill.i, align 8
store i8* %131, i8** %payload.dbg.spill.i, align 8
store %"std::panicking::try::Data<imp::proc_macro_parse::{{closure}}, core::result::Result<proc_macro::TokenStream, imp::LexError>>"* %data, %"std::panicking::try::Data<imp::proc_macro_parse::{{closure}}, core::result::Result<proc_macro::TokenStream, imp::LexError>>"** %data.dbg.spill2.i, align 8, !dbg !3078
store %"std::panicking::try::Data<imp::proc_macro_parse::{{closure}}, core::result::Result<proc_macro::TokenStream, imp::LexError>>"* %data, %"std::panicking::try::Data<imp::proc_macro_parse::{{closure}}, core::result::Result<proc_macro::TokenStream, imp::LexError>>"** %data.dbg.spill3.i, align 8, !dbg !3079
; call std::panicking::try::cleanup
%137 = call { {}*, [3 x i64]* } @_ZN3std9panicking3try7cleanup17h97268322f249355eE(i8* %131), !dbg !3080
%obj.0.i = extractvalue { {}*, [3 x i64]* } %137, 0, !dbg !3080
%obj.1.i = extractvalue { {}*, [3 x i64]* } %137, 1, !dbg !3080
%138 = getelementptr inbounds { {}*, [3 x i64]* }, { {}*, [3 x i64]* }* %obj.dbg.spill.i, i32 0, i32 0, !dbg !3080
store {}* %obj.0.i, {}** %138, align 8, !dbg !3080
%139 = getelementptr inbounds { {}*, [3 x i64]* }, { {}*, [3 x i64]* }* %obj.dbg.spill.i, i32 0, i32 1, !dbg !3080
store [3 x i64]* %obj.1.i, [3 x i64]** %139, align 8, !dbg !3080
%140 = bitcast { {}*, [3 x i64]* }* %value.dbg.spill.i1 to i8*
call void @llvm.lifetime.start.p0i8(i64 16, i8* %140)
%141 = bitcast { i8*, i64* }* %6 to i8*
call void @llvm.lifetime.start.p0i8(i64 16, i8* %141)
%142 = getelementptr inbounds { {}*, [3 x i64]* }, { {}*, [3 x i64]* }* %value.dbg.spill.i1, i32 0, i32 0
store {}* %obj.0.i, {}** %142, align 8, !noalias !3081
%143 = getelementptr inbounds { {}*, [3 x i64]* }, { {}*, [3 x i64]* }* %value.dbg.spill.i1, i32 0, i32 1
store [3 x i64]* %obj.1.i, [3 x i64]** %143, align 8, !noalias !3081
%144 = bitcast { i8*, i64* }* %6 to { {}*, [3 x i64]* }*, !dbg !3085
%145 = getelementptr inbounds { {}*, [3 x i64]* }, { {}*, [3 x i64]* }* %144, i32 0, i32 0, !dbg !3085
store {}* %obj.0.i, {}** %145, align 8, !dbg !3085, !noalias !3081
%146 = getelementptr inbounds { {}*, [3 x i64]* }, { {}*, [3 x i64]* }* %144, i32 0, i32 1, !dbg !3085
store [3 x i64]* %obj.1.i, [3 x i64]** %146, align 8, !dbg !3085, !noalias !3081
%147 = getelementptr inbounds { i8*, i64* }, { i8*, i64* }* %6, i32 0, i32 0, !dbg !3086
%148 = load i8*, i8** %147, align 8, !dbg !3086, !noalias !3081, !nonnull !4
%149 = getelementptr inbounds { i8*, i64* }, { i8*, i64* }* %6, i32 0, i32 1, !dbg !3086
%150 = load i64*, i64** %149, align 8, !dbg !3086, !noalias !3081, !nonnull !4
%151 = insertvalue { i8*, i64* } undef, i8* %148, 0, !dbg !3086
%152 = insertvalue { i8*, i64* } %151, i64* %150, 1, !dbg !3086
%153 = bitcast { {}*, [3 x i64]* }* %value.dbg.spill.i1 to i8*, !dbg !3086
call void @llvm.lifetime.end.p0i8(i64 16, i8* %153), !dbg !3086
%154 = bitcast { i8*, i64* }* %6 to i8*, !dbg !3086
call void @llvm.lifetime.end.p0i8(i64 16, i8* %154), !dbg !3086
%_8.0.i = extractvalue { i8*, i64* } %152, 0, !dbg !3087
%_8.1.i = extractvalue { i8*, i64* } %152, 1, !dbg !3087
%155 = bitcast %"std::panicking::try::Data<imp::proc_macro_parse::{{closure}}, core::result::Result<proc_macro::TokenStream, imp::LexError>>"* %data to { i8*, i64* }*, !dbg !3088
%156 = getelementptr inbounds { i8*, i64* }, { i8*, i64* }* %155, i32 0, i32 0, !dbg !3088
store i8* %_8.0.i, i8** %156, align 8, !dbg !3088
%157 = getelementptr inbounds { i8*, i64* }, { i8*, i64* }* %155, i32 0, i32 1, !dbg !3088
store i64* %_8.1.i, i64** %157, align 8, !dbg !3088
%158 = bitcast { {}*, [3 x i64]* }* %obj.dbg.spill.i to i8*, !dbg !3089
call void @llvm.lifetime.end.p0i8(i64 16, i8* %158), !dbg !3089
%159 = bitcast %"std::panicking::try::Data<imp::proc_macro_parse::{{closure}}, core::result::Result<proc_macro::TokenStream, imp::LexError>>"** %data.dbg.spill3.i to i8*, !dbg !3089
call void @llvm.lifetime.end.p0i8(i64 8, i8* %159), !dbg !3089
%160 = bitcast %"std::panicking::try::Data<imp::proc_macro_parse::{{closure}}, core::result::Result<proc_macro::TokenStream, imp::LexError>>"** %data.dbg.spill2.i to i8*, !dbg !3089
call void @llvm.lifetime.end.p0i8(i64 8, i8* %160), !dbg !3089
%161 = bitcast i8** %payload.dbg.spill.i to i8*, !dbg !3089
call void @llvm.lifetime.end.p0i8(i64 8, i8* %161), !dbg !3089
%162 = bitcast i8** %data.dbg.spill.i to i8*, !dbg !3089
call void @llvm.lifetime.end.p0i8(i64 8, i8* %162), !dbg !3089
br label %__rust_try.exit, !dbg !3077
__rust_try.exit: ; preds = %catch.i, %then.i
%163 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.28, i64 0, i64 15), %catch.i ], [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.28, i64 0, i64 14), %then.i ]
%164 = phi i32 [ 0, %then.i ], [ 1, %catch.i ]
%165 = load i64, i64* %163, !dbg !3077
%166 = add i64 %165, 1, !dbg !3077
store i64 %166, i64* %163, !dbg !3077
store i32 %164, i32* %11, align 4, !dbg !3077
%_10 = load i32, i32* %11, align 4, !dbg !3077
br label %bb2, !dbg !3077
bb2: ; preds = %__rust_try.exit
%167 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.28, i64 0, i64 16), %__rust_try.exit ], !dbg !3077
%168 = load i64, i64* %167, !dbg !3077
%169 = add i64 %168, 1, !dbg !3077
store i64 %169, i64* %167, !dbg !3077
%_9 = icmp eq i32 %_10, 0, !dbg !3077
br i1 %_9, label %bb4, label %bb3, !dbg !3090
bb3: ; preds = %bb2
%170 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.28, i64 0, i64 18), %bb2 ], !dbg !3091
%171 = load i64, i64* %170, !dbg !3091
%172 = add i64 %171, 1, !dbg !3091
store i64 %172, i64* %170, !dbg !3091
%173 = bitcast %"std::panicking::try::Data<imp::proc_macro_parse::{{closure}}, core::result::Result<proc_macro::TokenStream, imp::LexError>>"* %data to { i8*, i64* }*, !dbg !3091
%174 = getelementptr inbounds { i8*, i64* }, { i8*, i64* }* %173, i32 0, i32 0, !dbg !3091
%_18.0 = load i8*, i8** %174, align 8, !dbg !3091, !nonnull !4
%175 = getelementptr inbounds { i8*, i64* }, { i8*, i64* }* %173, i32 0, i32 1, !dbg !3091
%_18.1 = load i64*, i64** %175, align 8, !dbg !3091, !nonnull !4
%176 = bitcast { i8*, i64* }* %slot.dbg.spill.i to i8*
call void @llvm.lifetime.start.p0i8(i64 16, i8* %176)
%177 = getelementptr inbounds { i8*, i64* }, { i8*, i64* }* %slot.dbg.spill.i, i32 0, i32 0
store i8* %_18.0, i8** %177, align 8, !noalias !3092
%178 = getelementptr inbounds { i8*, i64* }, { i8*, i64* }* %slot.dbg.spill.i, i32 0, i32 1
store i64* %_18.1, i64** %178, align 8, !noalias !3092
%179 = bitcast i8* %_18.0 to {}*, !dbg !3096
%180 = bitcast i64* %_18.1 to [3 x i64]*, !dbg !3096
%181 = insertvalue { {}*, [3 x i64]* } undef, {}* %179, 0, !dbg !3097
%182 = insertvalue { {}*, [3 x i64]* } %181, [3 x i64]* %180, 1, !dbg !3097
%183 = bitcast { i8*, i64* }* %slot.dbg.spill.i to i8*, !dbg !3097
call void @llvm.lifetime.end.p0i8(i64 16, i8* %183), !dbg !3097
%_17.0 = extractvalue { {}*, [3 x i64]* } %182, 0, !dbg !3098
%_17.1 = extractvalue { {}*, [3 x i64]* } %182, 1, !dbg !3098
br label %bb6, !dbg !3098
bb4: ; preds = %bb2
%184 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.28, i64 0, i64 17), %bb2 ], !dbg !3099
%185 = load i64, i64* %184, !dbg !3099
%186 = add i64 %185, 1, !dbg !3099
store i64 %186, i64* %184, !dbg !3099
%187 = bitcast %"std::panicking::try::Data<imp::proc_macro_parse::{{closure}}, core::result::Result<proc_macro::TokenStream, imp::LexError>>"* %data to %"core::mem::manually_drop::ManuallyDrop<core::result::Result<proc_macro::TokenStream, imp::LexError>>"*, !dbg !3099
%188 = bitcast %"core::mem::manually_drop::ManuallyDrop<core::result::Result<proc_macro::TokenStream, imp::LexError>>"* %_15 to i8*, !dbg !3099
%189 = bitcast %"core::mem::manually_drop::ManuallyDrop<core::result::Result<proc_macro::TokenStream, imp::LexError>>"* %187 to i8*, !dbg !3099
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %188, i8* align 8 %189, i64 8, i1 false), !dbg !3099
%190 = bitcast %"core::mem::manually_drop::ManuallyDrop<core::result::Result<proc_macro::TokenStream, imp::LexError>>"* %_15 to i64*, !dbg !3100
%191 = load i64, i64* %190, align 4, !dbg !3100
%192 = bitcast %"core::result::Result<proc_macro::TokenStream, imp::LexError>"* %7 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %192)
%193 = bitcast i64* %8 to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %193)
%194 = bitcast %"core::mem::manually_drop::ManuallyDrop<core::result::Result<proc_macro::TokenStream, imp::LexError>>"* %slot.i to i8*
call void @llvm.lifetime.start.p0i8(i64 8, i8* %194)
store i64 %191, i64* %8, align 8
%195 = bitcast %"core::mem::manually_drop::ManuallyDrop<core::result::Result<proc_macro::TokenStream, imp::LexError>>"* %slot.i to i8*
%196 = bitcast i64* %8 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %195, i8* align 8 %196, i64 8, i1 false)
%197 = bitcast %"core::mem::manually_drop::ManuallyDrop<core::result::Result<proc_macro::TokenStream, imp::LexError>>"* %slot.i to %"core::result::Result<proc_macro::TokenStream, imp::LexError>"*, !dbg !3101
%198 = bitcast %"core::result::Result<proc_macro::TokenStream, imp::LexError>"* %7 to i8*, !dbg !3101
%199 = bitcast %"core::result::Result<proc_macro::TokenStream, imp::LexError>"* %197 to i8*, !dbg !3101
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %198, i8* align 4 %199, i64 8, i1 false), !dbg !3101
%200 = bitcast %"core::result::Result<proc_macro::TokenStream, imp::LexError>"* %7 to i64*, !dbg !3102
%201 = load i64, i64* %200, align 4, !dbg !3102
%202 = bitcast %"core::result::Result<proc_macro::TokenStream, imp::LexError>"* %7 to i8*, !dbg !3102
call void @llvm.lifetime.end.p0i8(i64 8, i8* %202), !dbg !3102
%203 = bitcast i64* %8 to i8*, !dbg !3102
call void @llvm.lifetime.end.p0i8(i64 8, i8* %203), !dbg !3102
%204 = bitcast %"core::mem::manually_drop::ManuallyDrop<core::result::Result<proc_macro::TokenStream, imp::LexError>>"* %slot.i to i8*, !dbg !3102
call void @llvm.lifetime.end.p0i8(i64 8, i8* %204), !dbg !3102
store i64 %201, i64* %10, align 8, !dbg !3100
%205 = bitcast %"core::result::Result<proc_macro::TokenStream, imp::LexError>"* %_14 to i8*, !dbg !3100
%206 = bitcast i64* %10 to i8*, !dbg !3100
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %205, i8* align 8 %206, i64 8, i1 false), !dbg !3100
br label %bb5, !dbg !3100
bb5: ; preds = %bb4
%207 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.28, i64 0, i64 20), %bb4 ], !dbg !3103
%208 = load i64, i64* %207, !dbg !3103
%209 = add i64 %208, 1, !dbg !3103
store i64 %209, i64* %207, !dbg !3103
%210 = bitcast %"core::result::Result<core::result::Result<proc_macro::TokenStream, imp::LexError>, alloc::boxed::Box<core::any::Any>>"* %0 to %"core::result::Result<core::result::Result<proc_macro::TokenStream, imp::LexError>, alloc::boxed::Box<core::any::Any>>::Ok"*, !dbg !3103
%211 = getelementptr inbounds %"core::result::Result<core::result::Result<proc_macro::TokenStream, imp::LexError>, alloc::boxed::Box<core::any::Any>>::Ok", %"core::result::Result<core::result::Result<proc_macro::TokenStream, imp::LexError>, alloc::boxed::Box<core::any::Any>>::Ok"* %210, i32 0, i32 1, !dbg !3103
%212 = bitcast %"core::result::Result<proc_macro::TokenStream, imp::LexError>"* %211 to i8*, !dbg !3103
%213 = bitcast %"core::result::Result<proc_macro::TokenStream, imp::LexError>"* %_14 to i8*, !dbg !3103
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %212, i8* align 4 %213, i64 8, i1 false), !dbg !3103
%214 = bitcast %"core::result::Result<core::result::Result<proc_macro::TokenStream, imp::LexError>, alloc::boxed::Box<core::any::Any>>"* %0 to i32*, !dbg !3103
store i32 0, i32* %214, align 8, !dbg !3103
br label %bb7, !dbg !3090
bb6: ; preds = %bb3
%215 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.28, i64 0, i64 19), %bb3 ], !dbg !3104
%216 = load i64, i64* %215, !dbg !3104
%217 = add i64 %216, 1, !dbg !3104
store i64 %217, i64* %215, !dbg !3104
%218 = bitcast %"core::result::Result<core::result::Result<proc_macro::TokenStream, imp::LexError>, alloc::boxed::Box<core::any::Any>>"* %0 to %"core::result::Result<core::result::Result<proc_macro::TokenStream, imp::LexError>, alloc::boxed::Box<core::any::Any>>::Err"*, !dbg !3104
%219 = getelementptr inbounds %"core::result::Result<core::result::Result<proc_macro::TokenStream, imp::LexError>, alloc::boxed::Box<core::any::Any>>::Err", %"core::result::Result<core::result::Result<proc_macro::TokenStream, imp::LexError>, alloc::boxed::Box<core::any::Any>>::Err"* %218, i32 0, i32 1, !dbg !3104
%220 = getelementptr inbounds { {}*, [3 x i64]* }, { {}*, [3 x i64]* }* %219, i32 0, i32 0, !dbg !3104
store {}* %_17.0, {}** %220, align 8, !dbg !3104
%221 = getelementptr inbounds { {}*, [3 x i64]* }, { {}*, [3 x i64]* }* %219, i32 0, i32 1, !dbg !3104
store [3 x i64]* %_17.1, [3 x i64]** %221, align 8, !dbg !3104
%222 = bitcast %"core::result::Result<core::result::Result<proc_macro::TokenStream, imp::LexError>, alloc::boxed::Box<core::any::Any>>"* %0 to i32*, !dbg !3104
store i32 1, i32* %222, align 8, !dbg !3104
br label %bb7, !dbg !3090
bb7: ; preds = %bb6, %bb5
%223 = phi i64* [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.28, i64 0, i64 22), %bb6 ], [ getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.28, i64 0, i64 21), %bb5 ], !dbg !3105
%224 = load i64, i64* %223, !dbg !3105
%225 = add i64 %224, 1, !dbg !3105
store i64 %225, i64* %223, !dbg !3105
%226 = load i64, i64* getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.28, i64 0, i64 23), !dbg !3105
%227 = add i64 %226, 1, !dbg !3105
store i64 %227, i64* getelementptr inbounds ([24 x i64], [24 x i64]* @__llvm_gcov_ctr.28, i64 0, i64 23), !dbg !3105
ret void, !dbg !3105
}
.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