-
-
Save Aatch/3786d20df2edaad6a0e8 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; Function Attrs: noinline uwtable | |
define void @_ZN3foo20ha8463975d9fed9eefaaE(%"struct.alloc::rc::Rc<[\22collections::vec::Vec<usize>\22]>[#5]"* noalias nocapture readonly dereferenceable(8)) unnamed_addr #0 { | |
entry-block: | |
%1 = getelementptr inbounds %"struct.alloc::rc::Rc<[\22collections::vec::Vec<usize>\22]>[#5]"* %0, i64 0, i32 0, i32 0 | |
%2 = load %"struct.alloc::rc::RcBox<[\22collections::vec::Vec<usize>\22]>[#5]"** %1, align 8, !alias.scope !0 | |
%3 = getelementptr inbounds %"struct.alloc::rc::RcBox<[\22collections::vec::Vec<usize>\22]>[#5]"* %2, i64 0, i32 1, i32 0, i32 0 | |
%4 = load i64* %3, align 8, !noalias !5 | |
%5 = icmp ne i64 %4, 0 | |
tail call void @llvm.assume(i1 %5) #2, !noalias !0 | |
%6 = add i64 %4, 1 | |
store i64 %6, i64* %3, align 8, !noalias !0 | |
%7 = icmp eq %"struct.alloc::rc::RcBox<[\22collections::vec::Vec<usize>\22]>[#5]"* %2, null | |
br i1 %7, label %_ZN3mem4drop20h3199242223757211078E.exit, label %then-block-49-.i.i.i | |
then-block-49-.i.i.i: ; preds = %entry-block | |
%8 = icmp ne i64 %6, 0 | |
tail call void @llvm.assume(i1 %8) #2, !noalias !8 | |
store i64 %4, i64* %3, align 8, !noalias !8 | |
br label %_ZN3mem4drop20h3199242223757211078E.exit | |
_ZN3mem4drop20h3199242223757211078E.exit: ; preds = %then-block-49-.i.i.i, %entry-block | |
ret void | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; Function Attrs: noinline uwtable | |
define void @_ZN3foo20ha8463975d9fed9eefaaE(%"struct.alloc::rc::Rc<[\22collections::vec::Vec<usize>\22]>[#5]"* noalias nocapture readonly dereferenceable(8)) unnamed_addr #0 { | |
_ZN3mem4drop21h12530899199219128837E.exit: | |
%1 = getelementptr inbounds %"struct.alloc::rc::Rc<[\22collections::vec::Vec<usize>\22]>[#5]"* %0, i64 0, i32 0, i32 0 | |
%2 = load %"struct.alloc::rc::RcBox<[\22collections::vec::Vec<usize>\22]>[#5]"** %1, align 8, !alias.scope !0 | |
%3 = icmp ne %"struct.alloc::rc::RcBox<[\22collections::vec::Vec<usize>\22]>[#5]"* %2, null | |
tail call void @llvm.assume(i1 %3) #2, !noalias !5 | |
%4 = getelementptr inbounds %"struct.alloc::rc::RcBox<[\22collections::vec::Vec<usize>\22]>[#5]"* %2, i64 0, i32 1, i32 0, i32 0 | |
%5 = load i64* %4, align 8, !noalias !10 | |
%6 = icmp ne i64 %5, 0 | |
tail call void @llvm.assume(i1 %6) #2, !noalias !0 | |
tail call void @llvm.assume(i1 %3) #2, !noalias !11 | |
%7 = icmp ne i64 %5, -1 | |
tail call void @llvm.assume(i1 %7) #2, !noalias !14 | |
ret void | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
_ZN3foo20ha8463975d9fed9eefaaE: | |
.cfi_startproc | |
retq | |
.Ltmp0: | |
.size _ZN3foo20ha8463975d9fed9eefaaE, .Ltmp0-_ZN3foo20ha8463975d9fed9eefaaE | |
.cfi_endproc |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; Function Attrs: noinline uwtable | |
define void @_ZN3foo20h3cefd4f5b70bff8bfaaE(%"struct.alloc::rc::Rc<[\22collections::vec::Vec<usize>\22]>[#5]"* noalias nocapture readonly dereferenceable(8)) unnamed_addr #0 { | |
entry-block: | |
%1 = getelementptr inbounds %"struct.alloc::rc::Rc<[\22collections::vec::Vec<usize>\22]>[#5]"* %0, i64 0, i32 0, i32 0 | |
%2 = load %"struct.alloc::rc::RcBox<[\22collections::vec::Vec<usize>\22]>[#5]"** %1, align 8, !alias.scope !0 | |
%3 = getelementptr inbounds %"struct.alloc::rc::RcBox<[\22collections::vec::Vec<usize>\22]>[#5]"* %2, i64 0, i32 1, i32 0, i32 0 | |
%4 = load i64* %3, align 8, !noalias !7 | |
%5 = add i64 %4, 1 | |
store i64 %5, i64* %3, align 8, !noalias !10 | |
%6 = icmp eq %"struct.alloc::rc::RcBox<[\22collections::vec::Vec<usize>\22]>[#5]"* %2, null | |
br i1 %6, label %_ZN3mem4drop20h8577950066041749832E.exit, label %then-block-49-.i.i.i | |
then-block-49-.i.i.i: ; preds = %entry-block | |
store i64 %4, i64* %3, align 8, !noalias !11 | |
%7 = icmp eq i64 %4, 0 | |
br i1 %7, label %then-block-58-.i.i.i, label %_ZN3mem4drop20h8577950066041749832E.exit | |
then-block-58-.i.i.i: ; preds = %then-block-49-.i.i.i | |
%tmp.sroa.610.0..sroa_idx11.i.i.i.i = getelementptr inbounds %"struct.alloc::rc::RcBox<[\22collections::vec::Vec<usize>\22]>[#5]"* %2, i64 0, i32 0, i32 2 | |
%tmp.sroa.610.0.copyload.i.i.i.i = load i64* %tmp.sroa.610.0..sroa_idx11.i.i.i.i, align 8, !noalias !16 | |
%8 = icmp eq i64 %tmp.sroa.610.0.copyload.i.i.i.i, 0 | |
br i1 %8, label %"_ZN34collections..vec..Vec$LT$usize$GT$14glue_drop.110717hed3d631d85b586f9E.exit.i.i.i", label %then-block-304-.i.i.i.i.i | |
then-block-304-.i.i.i.i.i: ; preds = %then-block-58-.i.i.i | |
%tmp.sroa.0.0..sroa_idx.i.i.i.i = getelementptr inbounds %"struct.alloc::rc::RcBox<[\22collections::vec::Vec<usize>\22]>[#5]"* %2, i64 0, i32 0, i32 0, i32 0 | |
%tmp.sroa.0.0.copyload.i.i.i.i = load i64** %tmp.sroa.0.0..sroa_idx.i.i.i.i, align 8, !noalias !16 | |
%9 = bitcast i64* %tmp.sroa.0.0.copyload.i.i.i.i to i8* | |
%10 = shl i64 %tmp.sroa.610.0.copyload.i.i.i.i, 3 | |
tail call void @je_sdallocx(i8* %9, i64 %10, i32 0), !noalias !19 | |
br label %"_ZN34collections..vec..Vec$LT$usize$GT$14glue_drop.110717hed3d631d85b586f9E.exit.i.i.i" | |
"_ZN34collections..vec..Vec$LT$usize$GT$14glue_drop.110717hed3d631d85b586f9E.exit.i.i.i": ; preds = %then-block-304-.i.i.i.i.i, %then-block-58-.i.i.i | |
%11 = getelementptr inbounds %"struct.alloc::rc::RcBox<[\22collections::vec::Vec<usize>\22]>[#5]"* %2, i64 0, i32 2, i32 0, i32 0 | |
%12 = load i64* %11, align 8, !noalias !22 | |
%13 = add i64 %12, -1 | |
store i64 %13, i64* %11, align 8, !noalias !27 | |
%14 = icmp eq i64 %13, 0 | |
br i1 %14, label %then-block-74-.i.i.i, label %_ZN3mem4drop20h8577950066041749832E.exit | |
then-block-74-.i.i.i: ; preds = %"_ZN34collections..vec..Vec$LT$usize$GT$14glue_drop.110717hed3d631d85b586f9E.exit.i.i.i" | |
%15 = bitcast %"struct.alloc::rc::RcBox<[\22collections::vec::Vec<usize>\22]>[#5]"* %2 to i8* | |
tail call void @je_sdallocx(i8* %15, i64 40, i32 0), !noalias !28 | |
br label %_ZN3mem4drop20h8577950066041749832E.exit | |
_ZN3mem4drop20h8577950066041749832E.exit: ; preds = %entry-block, %then-block-49-.i.i.i, %"_ZN34collections..vec..Vec$LT$usize$GT$14glue_drop.110717hed3d631d85b586f9E.exit.i.i.i", %then-block-74-.i.i.i | |
ret void | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment