summaryrefslogtreecommitdiff
path: root/src/mir
AgeCommit message (Collapse)AuthorFilesLines
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
2017-02-04MIR Optimise - Planning for const propagation, tweak assignment propagationJohn Hodge1-2/+46
2017-02-04MIR Gen - Tweak to handle `foo(break)`John Hodge3-4/+11
2017-02-04MIR Validate - Fix infinite looping in value stateJohn Hodge1-12/+114
2017-02-04MIR Validate - Slight refactor for cleaner codeJohn Hodge2-325/+331
2017-02-01MIR Optimise - Fix edge case incorrect optimisationJohn Hodge2-3/+9
2017-01-31MIR Optimise - Handle empty loopsJohn Hodge1-1/+4
2017-01-30MIR Optimise - Eliminate variable assignments tooJohn Hodge1-5/+13
2017-01-30MIR Optimise - Drop flag GCJohn Hodge1-5/+42
2017-01-30MIR Optimise - Dead assignment elimination (minimal)John Hodge1-2/+36
2017-01-30MIR Optimise - Support detecting of borrows for value usage countsJohn Hodge1-88/+93
2017-01-30MIR Optimise - Remove known branchesJohn Hodge1-3/+74
2017-01-30MIR Gen - Don't emit `If` terminator if known true/falseJohn Hodge1-0/+12
2017-01-30TODOsJohn Hodge1-0/+1
2017-01-29MIR Optimise - Fix tripping on unconditional recursionJohn Hodge3-154/+209
2017-01-29MIR Optimise - Inline inherentJohn Hodge1-1/+24
2017-01-28MIR Optimise - Run cleanup after inlining (as it triggers monomorph)John Hodge1-26/+46
2017-01-28MIR Optimise - Inlining of UfcsKnown functionsJohn Hodge1-1/+77
2017-01-28MIR Optimise - EAT during inliningJohn Hodge1-26/+69
2017-01-28MIR Optimise - Inlining implementedJohn Hodge1-13/+268
2017-01-26MIR Optimise - Start on inlining supportJohn Hodge1-1/+86
2017-01-26MIR Optimise - FiddlingJohn Hodge2-13/+77
2017-01-23MIR Gen - Fix incorrect handling of split scopes in loopsJohn Hodge1-16/+55
2017-01-22MIR Optimise - Validate before GCJohn Hodge1-0/+2
2017-01-22MIR Builder - Drop flags for PartialJohn Hodge1-1/+9