summaryrefslogtreecommitdiff
path: root/src/mir
AgeCommit message (Collapse)AuthorFilesLines
2016-12-29MIR Cleanup - Derefence FnMut/Fn for fn pointsJohn Hodge2-2/+6
2016-12-29MIR Optimise - Better cleaning of useless assignmentsJohn Hodge1-24/+102
2016-12-29MIR Opt - Partial dead temporary eliminatonJohn Hodge5-17/+429
2016-12-29MIR - Inline assembly in MIRJohn Hodge7-6/+83
2016-12-29HIR - asm! nodeJohn Hodge1-0/+6
2016-12-28MIR Gen - Handle diverging calls fullyJohn Hodge2-0/+8
2016-12-28MIR Gen - Track exit states of loopsJohn Hodge3-183/+211
2016-12-28MIR Gen - Spaces removed, misc thinkingJohn Hodge4-17/+20
2016-12-28MIR Gen - Clean up split arm logic a little by using std::mapJohn Hodge2-59/+56
2016-12-27MIR - Disable validation so travis build will passJohn Hodge2-2/+4
2016-12-27MIR Gen - Add support for capturing rest of slice patternsJohn Hodge2-2/+48
2016-12-27MIR Check - Prevent excessive memory usageJohn Hodge1-6/+22
2016-12-27MIR Gen - Misc fixesJohn Hodge3-27/+60
2016-12-27MIR Gen - Better handling of split scopes (optional init)John Hodge4-161/+194
2016-12-25Merge branch 'master' of https://github.com/thepowersgang/mrustcJohn Hodge15-616/+616
2016-12-25MIR Gen - Misc fixes for drop order quirksJohn Hodge3-2/+12
2016-12-24No more tears!ubsan15-615/+615
No more DOS line endings or trailing whitespace either
2016-12-24MIR Gen - Fix some bugs exposed by extended validationJohn Hodge4-5/+28
2016-12-24MIR Check - VarState past switchJohn Hodge1-1/+4
2016-12-24MIR Gen - Fix double-drop of InnerMoved variablesJohn Hodge1-0/+1
2016-12-24HIR/MIR Dump - Minor fixesJohn Hodge1-1/+10
2016-12-24MIR Gen - Raise values from LValue::DerefJohn Hodge1-0/+6
2016-12-24MIR Gen - Better scoping for single-arm matchesJohn Hodge1-5/+19
2016-12-24HIR Expand Closures - Handle closures called from other closuresJohn Hodge1-0/+2
2016-12-23MIR Gen - Shortcut in `let` handling to remove a useless temporaryJohn Hodge1-4/+10
2016-12-23MIR Gen - Track split state for temporaries (incomplete)John Hodge4-72/+239
2016-12-22MIR Gen - (minor) Span in destructorJohn Hodge1-2/+1
2016-12-21MIR Check - Extended validation based on value stateJohn Hodge1-7/+151
2016-12-21MIR Gen Match - Drop temporaries from match arms within the armJohn Hodge1-2/+7
2016-12-21MIR Gen Match - Correct types for bytestring comparisonJohn Hodge1-2/+4
2016-12-18MIR Check - Structure for checking variable validityJohn Hodge1-1/+124
2016-12-18MIR Gen - Tweak block handling to reduce bugsJohn Hodge1-27/+19
2016-12-18MIR Gen - Prevent returned values from being droppedJohn Hodge3-18/+164
2016-12-18MIR Gen - Ensure that function return values are droppedJohn Hodge3-27/+42
2016-12-18HIR - Move VTable construction to codegenJohn Hodge1-0/+2
2016-12-17MIR Cleanup - Handle enum constantsJohn Hodge1-1/+32
2016-12-17MIR Gen - Unlink return block from diverging functions (enables better ↵John Hodge1-1/+17
optimisations)
2016-12-17MIR Optimisation and efficiency tweaksJohn Hodge2-3/+79
2016-12-16MIR - Fix unsizing between trait objectsJohn Hodge2-3/+10
2016-12-15HIR - Linkage anntation (un-populated)John Hodge1-1/+1
2016-12-14Consteval - Re-enabled full first-pass constevalJohn Hodge8-197/+184
2016-12-13MIR Cleanup - De/Re-structure Box when calling a Box virtual functionJohn Hodge1-5/+78
2016-12-11HIR Const Eval - Split into two passes to have correct types in literalsJohn Hodge2-1/+29
2016-12-11Trans - Intrinsics (partially complete)John Hodge4-8/+31
2016-12-11MIR Cleanup - Hackily handle borrowing a DST from within a typeJohn Hodge2-7/+47
2016-12-10MIR Match Gen - Fix incorrect arms chosenJohn Hodge2-3/+3
2016-12-10MIR Cleanup - Constant arraysJohn Hodge1-87/+190
2016-12-10MIR Cleanup - BorrowOf supportJohn Hodge3-21/+43
2016-12-10HIR ConstEval - Do basic type inferrence so created statics have correct typesJohn Hodge1-0/+4
2016-12-10MIR Cleanup - Convert fn() calls to by-valueJohn Hodge1-0/+22