summaryrefslogtreecommitdiff
path: root/src/mir/optimise.cpp
AgeCommit message (Expand)AuthorFilesLines
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
2017-03-06MIR Optimise - Fix lifetime trackingJohn Hodge1-35/+86
2017-03-05MIR Optimise - Use new value lifetime information in optimisation, fix unboun...John Hodge1-259/+147
2017-03-04MIR Optimise - Working (but unused) temporary value lifetime trackingJohn Hodge1-0/+261
2017-03-04MIR Optimise - Constant propagation using ParamJohn Hodge1-2/+186
2017-02-25MIR Gen - Use MIR::Param (and associated changes)John Hodge1-5/+28
2017-02-22MIR - Add types to integer constantsJohn Hodge1-1/+1
2017-02-22MIR - Make MakeDst ptr a ParamJohn Hodge1-1/+1
2017-02-22MIR - add Param type for places where a lvalue is readJohn Hodge1-25/+79
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 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-01MIR Optimise - Fix edge case incorrect optimisationJohn Hodge1-3/+4
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-30TODOsJohn Hodge1-0/+1
2017-01-29MIR Optimise - Fix tripping on unconditional recursionJohn Hodge1-7/+25
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