summaryrefslogtreecommitdiff
path: root/src/mir
AgeCommit message (Collapse)AuthorFilesLines
2019-08-23MIR Optimise - Handle case where a &mut isn't usedJohn Hodge1-0/+5
2019-08-11MIR Optimise - Fix mis-optimisation in splitting tuplesJohn Hodge1-1/+16
2019-08-10MIR Optimise - Fix mis-optimisation in mpscJohn Hodge1-9/+11
2019-08-07MIR Optimise - Expand "needs_drop" in optimisation stageJohn Hodge1-0/+17
2019-08-03MIR Cleanup - Clean up constants moreJohn Hodge1-0/+28
2019-08-03MIR Optimise - Extend Single-Read/Write optimisation to follow goto/callJohn Hodge1-12/+62
2019-08-03MIR Optimise - Remove duplicate codeJohn Hodge1-30/+5
2019-08-03MIR Optimise - De-borrow, fix invalidation in old de-termporary codeJohn Hodge1-31/+272
2019-07-27Lower MIR - Handle match with unionJohn Hodge1-1/+8
2019-07-21MIR Optimise - Tweaks to new optimisationJohn Hodge1-14/+35
2019-07-20MIR Optimise - Simpler and more powerful temporary eliminationJohn Hodge1-9/+348
2019-07-14MIR Optimise - Don't evaluate U128 invJohn Hodge1-2/+3
2019-07-13MIR Optimise - Improved constant propagationJohn Hodge1-13/+81
2019-07-07MIR Optimise - Fix (and detect) mis-optimisation with indexing, more const ↵John Hodge3-9/+68
propagation
2019-06-16MIR Gen - (minor) Log node pointersJohn Hodge1-0/+5
2019-06-08MIR Gen - Fix clobbering of value state when fields are reassignedJohn Hodge2-21/+14
2019-06-08MIR Gen - Casts moveJohn Hodge1-1/+1
2019-06-02MIR - Refactor LValue to reduce size and linked-list-ness (seems to have had ↵John Hodge13-1250/+1394
a ~10% reduction in memory usage)
2019-05-25MIR - Condense LValue debug formatJohn Hodge1-8/+8
2019-05-19All - Switch to using interned (de-duplicated) RcString-s instead of ↵John Hodge4-14/+13
std::string for paths/identifiers
2019-05-14Trans Enumerate - Cache paths used by functionJohn Hodge2-1/+19
2019-05-09MIR Optimise - Work around De-Temporary bug that was mis-optimising Vec::retainJohn Hodge1-0/+14
2019-05-05MIR - Wrap HIR::Path-s in MIR::Constant in unique_ptrJohn Hodge7-44/+91
2019-05-04Match Ergonomics - Auto-deref in `ref` patterns to get `&T`John Hodge2-2/+9
2019-05-03Lower MIR - (minor) Replace TU_MATCH with TU_MATCH_HDRJohn Hodge1-29/+26
2019-04-28MIR Gen - Support `match` in a `match` guard armJohn Hodge3-9/+51
2019-04-28MIR Optimise - Fix (and detect) a recursive inline, remove drops of GC'd ↵John Hodge1-2/+57
locals, disable a really expensive pass
2019-04-25MIR - Reduce size of LValue::Static by putting the HIR::Path behind a pointerJohn Hodge7-11/+67
2019-04-21MIR Lower - Fix wrong type used for validation return typeJohn Hodge1-2/+2
2019-03-22MIR From HIR - TODO for try-catch handlingJohn Hodge1-0/+5
2019-03-22Common - Add another `ord` overload, fix breakage from thatJohn Hodge2-2/+2
2019-03-02Lower MIR - Wildcard pattern handlingJohn Hodge1-21/+23
2019-03-02MIR Gen - Handle extern types in matchJohn Hodge1-15/+20
2019-02-03HIR - Minimally-tested support for `extern { type }`John Hodge2-0/+18
2019-02-03HIR Expr - Have _StructLiteral take a HIR::Path (to allow associated types ↵John Hodge1-15/+20
to be used)
2019-01-20HIR Misc - Local asserts with patternsJohn Hodge1-0/+2
2019-01-20MIR Gen - (minor) Commented-out post-gen dumpJohn Hodge1-0/+1
2019-01-04Constant Evaluate - More handling of Defer constantsJohn Hodge1-1/+1
2019-01-03Lower MIR - Allow "+" at the start of asm output specifiersJohn Hodge1-1/+1
2019-01-01Match ergonomics - Fixes and expansionJohn Hodge1-0/+5
2018-12-30MIR Optimise - constant evaluation: additionJohn Hodge1-59/+69
2018-12-29Lower MIR - Handing of irrefutable enum matches, some other tweaksJohn Hodge2-35/+57
2018-12-29Misc MIR generation fixesJohn Hodge3-4/+8
2018-12-27Lower MIR - Match ergonomics (and a little bit of cleanup/fixes).John Hodge3-58/+82
- liballoc building, up to libstd
2018-12-27Lower MIR - Rough handling of 1.29 `box` operatorJohn Hodge1-0/+100
2018-12-22MIR Cleanup - Misc commenting on handling of Defer literalsJohn Hodge1-8/+7
2018-12-22MIR Cleanup - Better error reporting for bugs around unevaluated Literal::DeferJohn Hodge1-4/+22
2018-10-03Merge branch 'master' into nightly-1.29John Hodge7-53/+146
2018-09-22Misc - Fix some failing testsJohn Hodge1-1/+5
2018-09-22All - Generate MIR for constant evaluation (has too many const_cast calls, ↵John Hodge7-51/+140
but it's less ugly) - Also includes some MIR optimisation changes to reduce some compile times (hopefully) - Removed duplicated MIR consteval and now-unused HIR consteval