Skip to content

Instantly share code, notes, and snippets.

@solson
Created December 30, 2015 03:12
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/58b301c6167b28a4aa1b to your computer and use it in GitHub Desktop.
Save solson/58b301c6167b28a4aa1b to your computer and use it in GitHub Desktop.
fn(arg0: usize) -> usize {
let var0: usize; // n
let mut var1: usize; // prod
let var2: (); // _result
let mut var3: core::ops::Range<usize>; // iter
let var4: usize; // x
let tmp0: ();
let tmp1: ();
let tmp2: core::ops::Range<usize>;
let tmp3: core::ops::Range<usize>;
let tmp4: usize;
let tmp5: core::option::Option<usize>;
let tmp6: &mut core::ops::Range<usize>;
let tmp7: &mut core::ops::Range<usize>;
let tmp8: ();
let tmp9: usize;
let tmp10: ();
let tmp11: 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