summaryrefslogtreecommitdiff
path: root/src/mir/optimise.cpp
AgeCommit message (Expand)AuthorFilesLines
2019-10-20MIR Optimise - Fix a mis-optimisatio when there's &mut-s aroundJohn Hodge1-1/+4
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 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-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 pr...John Hodge1-6/+53
2019-06-02MIR - Refactor LValue to reduce size and linked-list-ness (seems to have had ...John Hodge1-278/+309
2019-05-14Trans Enumerate - Cache paths used by functionJohn Hodge1-1/+3
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 Hodge1-2/+2
2019-04-28MIR Optimise - Fix (and detect) a recursive inline, remove drops of GC'd loca...John Hodge1-2/+57
2019-04-25MIR - Reduce size of LValue::Static by putting the HIR::Path behind a pointerJohn Hodge1-1/+1
2018-12-30MIR Optimise - constant evaluation: additionJohn Hodge1-59/+69
2018-09-22Misc - Fix some failing testsJohn Hodge1-1/+5
2018-09-22All - Generate MIR for constant evaluation (has too many const_cast calls, bu...John Hodge1-37/+104
2018-05-27MIR Optimise - Propagate constants into callsJohn Hodge1-0/+6
2018-05-05MIR Optimise - Reorder code a bit for easier readingJohn Hodge1-225/+240
2018-05-05MIR Optimise - Short-circuit fail CommonStatements to hopefully avoid excessi...John Hodge1-1/+4
2018-03-17MIR Optimise - Slight cleanup for faster compilesJohn Hodge1-7/+10
2018-03-17Trans - Move monomorphisation from codegen pass to its own pass, and do a sec...John Hodge1-4/+107
2018-02-25MIR Optimise - Remove no-op assignmentsJohn Hodge1-0/+51
2018-02-18MIR Optimise - Some work on const propagationJohn Hodge1-22/+77
2018-02-18MIR Optimise - Constant-propagate known enum variants.John Hodge1-3/+48
2018-02-16MIR Optimise - (minor) Note about switch consteval eliminationJohn Hodge1-0/+12
2018-02-10Trans - Fix mismatches between mrustc's sizings and C's sizingsJohn Hodge1-0/+16
2018-01-20MIR Optimise - Only run UnifyTemporaries once, add a new tuple-breaking passJohn Hodge1-28/+190
2018-01-14MIR Optimise - Prevent infinite recrusion in inliningJohn Hodge1-0/+15
2018-01-14MIR Optimise - Dead assignment removal (minimally tested)John Hodge1-0/+58
2018-01-14MIR Optimise - Move common statements across gotosJohn Hodge1-0/+70
2018-01-14MIR Optimise - Add attempt at optimising out calls to atomic wrappersJohn Hodge1-0/+9
2017-12-26MIR Optimise - Fix sligt bugsJohn Hodge1-3/+12
2017-12-20MIR Optimise - Redo DeTemporary pass, works for build rustc/cargo, rustc testedJohn Hodge1-124/+122
2017-12-09MIR Optimise - Fiddling aroundJohn Hodge1-6/+23
2017-12-03MIR Optimise - Tweaks to DeTemporary passJohn Hodge1-3/+15
2017-12-02MIR Optimise - Fix infinite replacementJohn Hodge1-0/+11
2017-11-25MIR Optimise - Tweaking to DeTemporaryJohn Hodge1-8/+22
2017-11-25MIR Optimise - Add a new pass aimed at removing useless temporariesJohn Hodge1-18/+151
2017-11-12All - proc_macro support through to attempting to run themJohn Hodge1-1/+1
2017-11-05Trans - Calculate sizes, alignment, and representationJohn Hodge1-2/+2
2017-11-02MIR Optimise - Slight optimisationJohn Hodge1-6/+12
2017-11-01HIR - Refactor enums to only embed a single field (and give variants types)John Hodge1-1/+1
2017-10-01MIR Optimise - (minor) debuggingJohn Hodge1-0/+6
2017-09-10MIR Optimise - HACK: Don't optimise constants/staticsJohn Hodge1-0/+6