Skip to content

Instantly share code, notes, and snippets.

@solson
Created December 31, 2015 22:48
Show Gist options
  • Select an option

  • Save solson/c30c1c9b55e5213cec7b to your computer and use it in GitHub Desktop.

Select an option

Save solson/c30c1c9b55e5213cec7b to your computer and use it in GitHub Desktop.
--- old/factorial_fold.mir 2015-12-29 21:12:27.958598615 -0600
+++ factorial_fold.mir 2015-12-31 16:48:40.633604119 -0600
@@ -1,35 +1,35 @@
fn(arg0: usize) -> usize {
let var0: usize; // n
let tmp0: ();
let tmp1: core::ops::Range<usize>;
let tmp2: usize;
let tmp3: [closure@test.rs:37:20: 37:38];
bb0: {
var0 = arg0;
tmp2 = var0;
- tmp1 = Aggregate<Adt(core::ops::Range, 0, Substs[types=[[usize];[];[]], regions=[[];[];[]]])>[1, tmp2];
- tmp3 = Aggregate<Closure(DefId { krate: 0, node: DefIndex(18) => factorial_fold }, ClosureSubsts { func_substs: Substs[types=[[];[];[]], regions=[[];[];[]]], upvar_tys: [] })>[];
+ tmp1 = core::ops::Range { start: 1, end: tmp2 };
+ tmp3 = [closure@test.rs:37:20: 37:38];
ReturnPointer = core::iter::Iterator::fold(tmp1, 1, tmp3) -> [return: bb3, unwind: bb4];
}
bb1: {
return;
}
bb2: {
diverge;
}
bb3: {
drop tmp1;
drop tmp3;
goto -> bb1;
}
bb4: {
drop tmp1;
drop tmp3;
goto -> bb2;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment