summaryrefslogtreecommitdiff
path: root/src/mir/mir_builder.cpp
AgeCommit message (Collapse)AuthorFilesLines
2016-12-27MIR Gen - Better handling of split scopes (optional init)John Hodge1-153/+182
2016-12-25Merge branch 'master' of https://github.com/thepowersgang/mrustcJohn Hodge1-49/+49
2016-12-25MIR Gen - Misc fixes for drop order quirksJohn Hodge1-0/+6
2016-12-24No more tears!ubsan1-49/+49
No more DOS line endings or trailing whitespace either
2016-12-24MIR Gen - Fix some bugs exposed by extended validationJohn Hodge1-2/+5
2016-12-24MIR Gen - Fix double-drop of InnerMoved variablesJohn Hodge1-0/+1
2016-12-24MIR Gen - Raise values from LValue::DerefJohn Hodge1-0/+6
2016-12-23MIR Gen - Track split state for temporaries (incomplete)John Hodge1-52/+104
2016-12-22MIR Gen - (minor) Span in destructorJohn Hodge1-2/+1
2016-12-18MIR Gen - Prevent returned values from being droppedJohn Hodge1-17/+154
2016-12-18MIR Gen - Ensure that function return values are droppedJohn Hodge1-27/+37
2016-12-03HIR/MIR - VTable workJohn Hodge1-2/+7
2016-11-26HIR Annotate - Fix annotation on CallValue argumentsJohn Hodge1-1/+1
2016-11-20MIR Gen - Treat a loop as a split scopeJohn Hodge1-4/+5
2016-11-20MIR - Union support hacked upJohn Hodge1-0/+3
2016-11-19MIR Gen - Expand associated types after monomorphJohn Hodge1-1/+3
2016-11-19MIR Gen - Bugcheck on Unbound pathsJohn Hodge1-1/+2
2016-11-06HIR Typecheck Static - Deeper search for Copy boundsJohn Hodge1-0/+1
2016-11-05MIR Gen - Fix invalidated LValue in box move hackJohn Hodge1-1/+1
2016-11-05MIR Gen - Empty match statementsJohn Hodge1-4/+4
2016-11-05MIR Gen - Move Box out of non-variable slots into a temp for inner moveJohn Hodge1-1/+5
2016-11-05MIR Gen - Drop InnerMoved early for cleaner logicJohn Hodge1-3/+30
2016-11-04MIR Gen - (minor) Split a large TU_MATCH to improve compiler debugJohn Hodge1-3/+11
2016-10-31AST - Delete some dead code, remove some warnings on GCC6John Hodge1-2/+7
2016-10-08HIR+MIR - Correct handling of diverging loopsJohn Hodge1-4/+7
2016-10-07MIR Gen - Destructure array patternsJohn Hodge1-0/+6
2016-09-24MIR Gen - Support zero-arm matches - Since they can never be reached, emit a ↵John Hodge1-0/+19
Diverge
2016-09-07MIR Gen - Hacky shallow drop support (doesn't support being conditional)John Hodge1-6/+53
2016-09-07MIR Gen - Cleaner Box support, start on move-out structureJohn Hodge1-13/+70
2016-09-06MIR Gen - Rough support for BoxJohn Hodge1-0/+25
2016-08-24MIR Gen - Use argument typesJohn Hodge1-2/+4
2016-08-24MIR Gen - Move variable states to function state (instead of scope)John Hodge1-20/+18
2016-08-24MIR Gen - Further span propagationJohn Hodge1-23/+23
2016-08-24MIR Gen - Expand associated after monomorphisationJohn Hodge1-3/+5
2016-08-23MIR Gen - More span propagationJohn Hodge1-13/+10
2016-08-23MIR Gen - Span information in assign/dropJohn Hodge1-20/+32
2016-08-23HIR Typecheck - Require span for type_is_copyJohn Hodge1-37/+40
2016-08-23MIR - Add a `Const` entry to the MIR::Constant to refer to a named constantJohn Hodge1-4/+23
2016-08-23MIR Gen - Field access with_val_typeJohn Hodge1-2/+31
2016-08-22MIR Gen - (minor) Log failing lvalue when &move requiredJohn Hodge1-1/+1
2016-08-22MIR Gen - (minor) Print type of defined variableJohn Hodge1-1/+1
2016-08-22MIR Gen - Move and drop detection improvedJohn Hodge1-31/+165
2016-08-21MIR Gen Match - Fix bug where a block would get magled by condition code ↵John Hodge1-4/+6
(defended against)
2016-08-21MIR Gen - Include Copy checkingJohn Hodge1-5/+101
2016-08-21MIR Gen - Move `MirBuilder` class to its own fileJohn Hodge1-0/+663