summaryrefslogtreecommitdiff
path: root/src/mir/mir_builder.cpp
AgeCommit message (Expand)AuthorFilesLines
2017-04-28MIR Gen - Reset all drop flags to defaults after useJohn Hodge1-1/+15
2017-04-28MIR Gen - MakeDst moves both valuesJohn Hodge1-1/+1
2017-04-22MIR Gen - Common lvalue for ifJohn Hodge1-0/+3
2017-04-22MIR - Add ScopeEnd statement to indicate where a value will no longer be usedJohn Hodge1-15/+24
2017-04-17MIR Gen - Handle MovedOutJohn Hodge1-5/+67
2017-04-16MIR Gen - Handle move out of unionsJohn Hodge1-36/+69
2017-04-16MIR Gen - Refactor value tracking to split move-out and destructureJohn Hodge1-295/+526
2017-03-25MIR Gen - Fix a slight bug in borrow promotion, validate during `Lower MIR`John Hodge1-6/+39
2017-03-18MIR Gen - Fix scoping of values in let bindingsJohn Hodge1-16/+66
2017-03-18MIR Gen - Extend lifetimes of variables borrowed in let bindingsJohn Hodge1-1/+3
2017-03-16MIR Gen - Fix incorrect scoping of temporariesJohn Hodge1-62/+84
2017-03-04MIR Gen - Patch around edge case where an arm can end up with the drop flag i...John Hodge1-3/+5
2017-03-02MIR Gen - Reset drop flags to defaults after useJohn Hodge1-0/+12
2017-02-25MIR Gen - Use MIR::Param (and associated changes)John Hodge1-0/+23
2017-02-22MIR - Make MakeDst ptr a ParamJohn Hodge1-1/+1
2017-02-22MIR - add Param type for places where a lvalue is readJohn Hodge1-16/+25
2017-02-12MIR Gen - Alter handling of scopes to support diverging expressionsJohn Hodge1-10/+11
2017-02-04MIR Gen - Tweak to handle `foo(break)`John Hodge1-1/+5
2017-01-23MIR Gen - Fix incorrect handling of split scopes in loopsJohn Hodge1-16/+55
2017-01-22MIR Builder - Drop flags for PartialJohn Hodge1-1/+9
2017-01-22MIR Optimise - Untested temporary and BB unificationJohn Hodge1-1/+2
2017-01-21MIR Gen - Fix drop generationJohn Hodge1-43/+98
2017-01-21MIR Gen - Partial value statesJohn Hodge1-69/+150
2017-01-20MIR Gen - Invalid->OptionalJohn Hodge1-3/+11
2017-01-20MIR - Merging of drop flagsJohn Hodge1-9/+37
2017-01-20MIR Gen - Fix temporary drops in split scopesJohn Hodge1-0/+10
2017-01-20MIR - Drop flags (incomplete, doesn't pass validation)John Hodge1-309/+347
2017-01-02MIR - Remove Deref from inputs to RValue::DstMeta/DstPtrJohn Hodge1-0/+14
2016-12-29MIR - Inline assembly in MIRJohn Hodge1-0/+11
2016-12-28MIR Gen - Track exit states of loopsJohn Hodge1-178/+206
2016-12-28MIR Gen - Spaces removed, misc thinkingJohn Hodge1-1/+1
2016-12-28MIR Gen - Clean up split arm logic a little by using std::mapJohn Hodge1-54/+33
2016-12-27MIR Gen - Misc fixesJohn Hodge1-22/+42
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
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