summaryrefslogtreecommitdiff
path: root/src/mir/mir.cpp
AgeCommit message (Collapse)AuthorFilesLines
2019-11-24MIR - Add comparison of terminatorsJohn Hodge1-0/+83
2019-10-26All - Compilation fixes on VS2015 (constructors, warnings, missing files, ↵John Hodge1-0/+1
class/struct disagreement, <algorithm>)
2019-06-02MIR - Refactor LValue to reduce size and linked-list-ness (seems to have had ↵John Hodge1-119/+70
a ~10% reduction in memory usage)
2019-05-25MIR - Condense LValue debug formatJohn Hodge1-8/+8
2019-05-05MIR - Wrap HIR::Path-s in MIR::Constant in unique_ptrJohn Hodge1-6/+6
2019-04-25MIR - Reduce size of LValue::Static by putting the HIR::Path behind a pointerJohn Hodge1-2/+2
2019-03-22Common - Add another `ord` overload, fix breakage from thatJohn Hodge1-1/+1
2018-07-04All - Dump full contents of asm! in AST/MIRJohn Hodge1-1/+1
2018-01-27Trans - Add "backend" for monomorphised MIRJohn Hodge1-0/+2
2018-01-14MIR Optimise - Move common statements across gotosJohn Hodge1-0/+33
2017-11-01HIR - Refactor enums to only embed a single field (and give variants types)John Hodge1-4/+2
2017-09-08MIR Gen - Fix box drop flagsJohn Hodge1-1/+1
2017-07-06MIR - Add (but don't use) a SwitchValue terminatorJohn Hodge1-0/+34
2017-06-16MIR - Unify temporaries and variablesJohn Hodge1-31/+19
2017-04-22MIR - Add ScopeEnd statement to indicate where a value will no longer be usedJohn Hodge1-0/+8
2017-04-16MIR - Print SetDropFlag statementsJohn Hodge1-0/+11
2017-04-16MIR - Fix string printing to escape valuesJohn Hodge1-9/+2
2017-04-07Match - Replace DecisionTree with a sort+group algorithmJohn Hodge1-13/+26
2017-03-04MIR - Debug printing for Statement (incomplete)John Hodge1-0/+26
2017-02-22MIR - Add types to integer constantsJohn Hodge1-9/+9
2017-02-22MIR - add Param type for places where a lvalue is readJohn Hodge1-16/+61
2017-01-22MIR Optimise - Fixed replacement of unified temporariesJohn Hodge1-1/+1
2017-01-22MIR Optimise - Untested temporary and BB unificationJohn Hodge1-0/+118
2016-12-31MIR Optimise - Structure for rvalue replacementsJohn Hodge1-0/+73
2016-12-31MIR Optimise - Allow assignment elimination with variablesJohn Hodge1-0/+43
2016-12-29MIR Opt - Partial dead temporary eliminatonJohn Hodge1-0/+47
2016-12-24No more tears!ubsan1-4/+4
No more DOS line endings or trailing whitespace either
2016-12-11HIR Const Eval - Split into two passes to have correct types in literalsJohn Hodge1-1/+27
2016-12-11Trans - Intrinsics (partially complete)John Hodge1-1/+1
2016-12-07MIR - Merge two call types into one with a different targetJohn Hodge1-8/+14
2016-12-04MIR - Escape special characters in debug printJohn Hodge1-1/+8
2016-12-03MIR - Create a CallPath terminatorJohn Hodge1-1/+7
2016-12-03HIR/MIR - VTable workJohn Hodge1-0/+3
2016-11-20MIR - Union support hacked upJohn Hodge1-0/+3
2016-10-07MIR Gen Match - Rough bytestring supportJohn Hodge1-1/+6
2016-08-27HIR (De)serialise - Working deserialiseJohn Hodge1-0/+43
2016-08-23MIR - Add a `Const` entry to the MIR::Constant to refer to a named constantJohn Hodge1-0/+3
2016-08-20MIR Gen - Fix codegen issue with use of moved LValueJohn Hodge1-3/+32
2016-08-20MIR Gen - Add loggingJohn Hodge1-0/+43
2016-08-13MIR Gen - Support values overlapping with rangesJohn Hodge1-0/+30
2016-08-09MIR - Construction code completed, but untested (and some stubs)John Hodge1-0/+37