summaryrefslogtreecommitdiff
path: root/src/mir
AgeCommit message (Collapse)AuthorFilesLines
2017-04-16MIR - Fix string printing to escape valuesJohn Hodge1-9/+2
2017-04-13MIR Gen - Do value raising for deref operator overloadsJohn Hodge2-3/+60
2017-04-07MIR Gen - Remove old DT match codeJohn Hodge1-1957/+3
2017-04-07Match - Replace DecisionTree with a sort+group algorithmJohn Hodge3-30/+1410
2017-03-30MIR Gen Match - Disable DTN algorithm due to minor bugJohn Hodge1-3/+38
2017-03-25MIR Gen - Fix a slight bug in borrow promotion, validate during `Lower MIR`John Hodge2-11/+49
2017-03-18MIR Gen - Fix scoping of values in let bindingsJohn Hodge3-31/+77
2017-03-18MIR Gen - Extend lifetimes of variables borrowed in let bindingsJohn Hodge3-20/+69
2017-03-16MIR Optimise - Fix mis-optimise with assignment propagationJohn Hodge1-4/+12
2017-03-16MIR Validate - Better debugJohn Hodge1-3/+8
2017-03-16MIR Gen - Fix incorrect scoping of temporariesJohn Hodge2-65/+106
2017-03-12MIR Gen - Fix Use-after-free when let borrows a temporaryJohn Hodge1-0/+13
2017-03-11MIR Dump - Fix bad printing of byte string literalsJohn Hodge1-1/+14
2017-03-11MIR Gen - Support integer ranges in simple match generationJohn Hodge1-2/+34
2017-03-11MIR Check full - Fiddling (still unbouned memory usage)John Hodge1-1/+11
2017-03-11MIR Gen Match - Fix bug in range handlingJohn Hodge1-2/+1
2017-03-10MIR Helpers - get_const_type defer TODOJohn Hodge1-3/+6
2017-03-10MIR Optimise - basic size_of replacemntJohn Hodge1-14/+17
2017-03-06MIR Optimise - Reduce debug and pedantic validationJohn Hodge1-2/+2
2017-03-06MIR Optimise - Fix lifetime trackingJohn Hodge1-35/+86
2017-03-05MIR Optimise - Use new value lifetime information in optimisation, fix ↵John Hodge1-259/+147
unbounded runtime.
2017-03-04MIR Optimise - Working (but unused) temporary value lifetime trackingJohn Hodge1-0/+261
2017-03-04MIR - Debug printing for Statement (incomplete)John Hodge2-0/+27
2017-03-04Many many changes to allow compiling in visual studio (Community 2015)John Hodge (bugs)7-33/+37
2017-03-04MIR Optimise - Constant propagation using ParamJohn Hodge1-2/+186
2017-03-04MIR Gen - Use MIR::Param for binopsJohn Hodge1-10/+21
2017-03-04MIR Check Full - State comparison, printing of stateJohn Hodge1-0/+76
2017-03-04MIR Gen - Patch around edge case where an arm can end up with the drop flag ↵John Hodge1-3/+5
incorrectly set
2017-03-04MIR Check Full - VariantsJohn Hodge1-4/+28
2017-03-04MIR Check Full - Handling of shallow dropsJohn Hodge1-15/+165
2017-03-04MIR - Add a (disabled) full value state validatorJohn Hodge2-0/+500
2017-03-02MIR Gen - Reset drop flags to defaults after useJohn Hodge1-0/+12
2017-03-02MIR Gen - More Param usageJohn Hodge1-7/+16
2017-02-25MIR Gen - Remove temporaries in match generationJohn Hodge1-54/+48
2017-02-25MIR Gen - Use MIR::Param (and associated changes)John Hodge6-14/+112
2017-02-23MIR Gen - Some more Param usesJohn Hodge2-20/+15
2017-02-22MIR Gen - Replace some temporaries with ParamJohn Hodge1-18/+19
2017-02-22MIR - Restrict Constant::Bytes to returning &[u8; N]John Hodge3-9/+11
2017-02-22MIR - Add types to integer constantsJohn Hodge7-89/+105
2017-02-22MIR - Make MakeDst ptr a ParamJohn Hodge5-7/+8
2017-02-22MIR - add Param type for places where a lvalue is readJohn Hodge8-141/+301
2017-02-12MIR Gen - Alter handling of scopes to support diverging expressionsJohn Hodge3-25/+24
2017-02-11MIR Gen - Fix short-circuiting && and ||John Hodge1-36/+52
2017-02-09MIR Optimise - Fix small incorrect comparisonJohn Hodge1-1/+1
2017-02-05MIR Optimise - Treat asm! outputs as assignmentsJohn Hodge1-0/+7
2017-02-05MIR Optimise - GC variables tooJohn Hodge1-7/+26
2017-02-05MIR Optimise - Clear unused bbs during iterationJohn Hodge1-0/+63
2017-02-05MIR Validate - (minor) Remove now-useless debugJohn Hodge1-3/+0
2017-02-05MIR Optimise - Fix incorrect optimisation when source is movedJohn Hodge1-3/+6
2017-02-04MIR Optimise - Little optimisations for a no-op intrinsicJohn Hodge1-3/+45