summaryrefslogtreecommitdiff
path: root/src/mir/optimise.cpp
AgeCommit message (Expand)AuthorFilesLines
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
2017-09-08MIR Gen - Fix box drop flagsJohn Hodge1-3/+10
2017-09-02Misc - Clean up some MSVC warningsJohn Hodge1-1/+1
2017-08-23MIR Optimise - TODO: Reduce costJohn Hodge1-0/+1
2017-07-06MIR - Add (but don't use) a SwitchValue terminatorJohn Hodge1-165/+98
2017-07-02MIR Optimise - Store params and Copy args earlyJohn Hodge1-21/+17
2017-06-25MIR Optimise - Support minimal optimisiationsJohn Hodge1-18/+305
2017-06-18MIR Optimise - (minor) Comment on sortJohn Hodge1-0/+1
2017-06-17MIR Optimise - Sort BBs into approximate program flowJohn Hodge1-1/+116
2017-06-16MIR optimise - Fix a few little bugsJohn Hodge1-18/+64
2017-06-16MIR - Unify temporaries and variablesJohn Hodge1-167/+105
2017-06-02MIR Optimise - Remove unused drop flagsJohn Hodge1-81/+106
2017-05-13MIR Optimise - Fix incorrect optimisation of function returnJohn Hodge1-1/+1
2017-05-12MIR - Fixed optimisation and scopring issuesJohn Hodge1-17/+105
2017-04-29Add a custom intrinsic to reduce cost of [T]::lenJohn Hodge1-6/+8
2017-04-29MIR Optimise - Disable some dumpingJohn Hodge1-2/+2
2017-04-28MIR Optimise - Fix mis-optimisation in const propagationJohn Hodge1-22/+95
2017-04-22MIR Gen - Common lvalue for ifJohn Hodge1-0/+2
2017-04-22MIR Optimise - Unify ScopeEnd statementsJohn Hodge1-1/+26
2017-04-22MIR - Add ScopeEnd statement to indicate where a value will no longer be usedJohn Hodge1-10/+55
2017-04-17MIR Helpers - Move lifetime calculation to helpers so CheckFull can use itJohn Hodge1-438/+4
2017-03-16MIR Optimise - Fix mis-optimise with assignment propagationJohn Hodge1-4/+12
2017-03-10MIR Optimise - basic size_of replacemntJohn Hodge1-14/+17
2017-03-06MIR Optimise - Reduce debug and pedantic validationJohn Hodge1-2/+2