Created
December 31, 2015 18:46
-
-
Save solson/c0f566b74c5f58ae9d55 to your computer and use it in GitHub Desktop.
This file contains hidden or 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
| --- old/factorial_iterative.mir 2015-12-29 21:12:27.958598615 -0600 | |
| +++ factorial_iterative.mir 2015-12-31 12:45:45.623293678 -0600 | |
| @@ -1,103 +1,103 @@ | |
| 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]; | |
| + tmp3 = core::ops::Range { start: 1, end: 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