Skip to content

Instantly share code, notes, and snippets.

@solson
Last active December 30, 2015 03:02
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 solson/ae8752f34e21aba446b5 to your computer and use it in GitHub Desktop.
Save solson/ae8752f34e21aba446b5 to your computer and use it in GitHub Desktop.
fn(a0: usize) -> usize {
let v0: usize; // n
let mut v1: usize; // prod
let v2: (); // _result
let mut v3: core::ops::Range<usize>; // iter
let v4: usize; // x
let t0: ();
let t1: ();
let t2: core::ops::Range<usize>;
let t3: core::ops::Range<usize>;
let t4: usize;
let t5: core::option::Option<usize>;
let t6: &mut core::ops::Range<usize>;
let t7: &mut core::ops::Range<usize>;
let t8: ();
let t9: usize;
let t10: ();
let t11: usize;
bb0: {
var0 = arg0;
var1 = 1;
tmp4 = var0;
tmp3 = Aggregate<Adt(core::ops::Range, 0, Substs[types=[[usize];[];[]], regions=[[];[];[]]])>[1, tmp4];
tmp2 = core::iter::IntoIterator::into_iter(tmp3) -> [return: bb3, unwind: bb4];
}
bb1: {
return;
}
bb2: {
diverge;
}
bb3: {
var3 = tmp2;
goto -> bb6;
}
bb4: {
drop tmp2;
drop tmp3;
goto -> bb2;
}
bb5: {
drop var3;
drop tmp2;
drop tmp3;
tmp10 = var2;
tmp1 = tmp10;
drop tmp1;
tmp11 = var1;
ReturnPointer = tmp11;
goto -> bb1;
}
bb6: {
tmp7 = &ReScope(CodeExtent(77/Misc(168))) Mut var3;
tmp6 = &ReScope(CodeExtent(77/Misc(168))) Mut (*tmp7);
tmp5 = core::iter::Iterator::next(tmp6) -> [return: bb7, unwind: bb8];
}
bb7: {
switch(tmp5) -> [None: bb11, Some: bb12];
}
bb8: {
drop tmp6;
drop tmp7;
goto -> bb9;
}
bb9: {
drop var3;
goto -> bb4;
}
bb10: {
tmp9 = var4;
var1 = Mul(var1, tmp9);
drop tmp8;
goto -> bb13;
}
bb11: {
drop tmp6;
drop tmp7;
goto -> bb5;
}
bb12: {
var4 = (tmp5 as Some).0;
goto -> bb10;
}
bb13: {
drop tmp6;
drop tmp7;
goto -> bb6;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment