summaryrefslogtreecommitdiff
path: root/src/mir/mir_builder.cpp
AgeCommit message (Expand)AuthorFilesLines
2017-09-08MIR Gen - Fix box drop flagsJohn Hodge1-19/+3
2017-07-06MIR Gen - Reset drop flags on entry to a loop (instead of after use)John Hodge1-16/+20
2017-07-02MIR Gen - Make mutating state (other than the if condition) within a match gu...John Hodge1-0/+25
2017-07-02MIR Gen - Track states for arguments (and directly use arguments where possible)John Hodge1-80/+145
2017-06-23MIR Gen - Disable argument replacement until argument states are tracked fullyJohn Hodge1-3/+15
2017-06-22MIR Gen - Remove arguments that are just assigned from argumentsJohn Hodge1-0/+10
2017-06-16MIR optimise - Fix a few little bugsJohn Hodge1-2/+4
2017-06-16MIR - Unify temporaries and variablesJohn Hodge1-373/+170
2017-06-10MIR Gen - Fix incorrect codegen due to defaulting to 0 not ~0John Hodge1-2/+2
2017-06-04Merge branch 'master' of https://github.com/thepowersgang/mrustcJohn Hodge (bugs)1-32/+60
2017-06-03HIR Typecheck - Validate traits after typecheckJohn Hodge1-0/+2
2017-05-15MIR Gen - Don't emit drop for union valuesJohn Hodge1-0/+7
2017-05-15MIR - Handle Union field accessJohn Hodge1-32/+51
2017-05-14Visual Studio compile fixesJohn Hodge (bugs)1-1/+1
2017-05-12MIR - Fixed optimisation and scopring issuesJohn Hodge1-4/+10
2017-05-08MIR Gen - Fix incorrect scoping of temporaries in expression part of a blockJohn Hodge1-30/+159
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