summaryrefslogtreecommitdiff
path: root/src/mir
AgeCommit message (Collapse)AuthorFilesLines
2017-01-02Trans Enumerate - Enumerate resultant types from LValue::DerefJohn Hodge1-18/+12
2017-01-01MIR/Trans - Fix DST field borrow hackJohn Hodge1-39/+1
2016-12-31MIR Dump - Clean string printingJohn Hodge1-2/+3
2016-12-31MIR Optimise - Fiddling with RValue propagationJohn Hodge1-16/+22
2016-12-31MIR Optimise - Structure for rvalue replacementsJohn Hodge3-36/+146
2016-12-31MIR Optimise - Move call output to after assignment propagationJohn Hodge1-54/+55
2016-12-31MIR Optimise - Allow assignment elimination with variablesJohn Hodge3-17/+66
2016-12-31MIR Optimisations - Avoid a potential mis-optimiseJohn Hodge1-47/+55
2016-12-31MIR Optimisation - Function return valuesJohn Hodge1-58/+135
2016-12-31MIR - Fix a bit of invalid MIRJohn Hodge4-5/+27
2016-12-31Expand Derive - Hack around getting a trait object to a [T]John Hodge1-0/+2
2016-12-30MIR - Misc fixesJohn Hodge2-4/+4
2016-12-30MIR Cleanup - Associated consantsJohn Hodge1-0/+41
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)