summaryrefslogtreecommitdiff
path: root/src/mir
AgeCommit message (Collapse)AuthorFilesLines
2017-05-06MIR Gen - Fix incorrect scoping of for loop valuesJohn Hodge1-0/+4
2017-05-05MIR Gen - HACK: Don't check for Unsize implJohn Hodge1-2/+3
2017-04-30MIR Gen Match - Fix Grouped match generatorJohn Hodge1-101/+133
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 Gen - Reset all drop flags to defaults after useJohn Hodge2-1/+16
2017-04-28MIR Check Full - Print the cause of invalidityJohn Hodge3-2/+142
2017-04-28MIR Helpers - Move visit_mir_lvalue* to somewhere commonJohn Hodge2-9/+25
2017-04-28MIR Gen - MakeDst moves both valuesJohn Hodge1-1/+1
2017-04-28MIR Helpers - Minor fix to lifetime calculationJohn Hodge1-0/+11
2017-04-28MIR Helpers - Fill bitmap after a read of a borrowed valueJohn Hodge1-0/+8
2017-04-28MIR Optimise - Fix mis-optimisation in const propagationJohn Hodge1-22/+95
2017-04-27MIR Helpers - Refactor lifetime calculations to be less expensiveJohn Hodge1-155/+112
2017-04-25MIR Helpers - Continual fiddling to improve lifetime determining speedJohn Hodge1-11/+36
2017-04-25MIR Helpers - Few tweaks to lifetime enumeration to reduce complexityJohn Hodge1-12/+114
2017-04-24MIR Helpers - Second version of lifetime calculation (buggy)John Hodge1-32/+530
- Can be confused by very complex functions
2017-04-22MIR Helpers - (minor) debug output in variable lifetime calcJohn Hodge1-3/+3
2017-04-22MIR Gen - Common lvalue for ifJohn Hodge6-8/+33
2017-04-22MIR Validate - Don't use ScopeEnd, it's incorrect after optJohn Hodge1-0/+5
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 Hodge10-25/+113
2017-04-20MIR Check Full - Mask values based on calculated lifetimesJohn Hodge1-1/+49
2017-04-20MIR Helpers - Improved value lifetime determiningJohn Hodge2-56/+117
2017-04-18MIR Helpers - Expand lifetime detection to handle variablesJohn Hodge1-3/+21
2017-04-17MIR Helpers - Move lifetime calculation to helpers so CheckFull can use itJohn Hodge4-438/+669
2017-04-17MIR Gen - Handle MovedOutJohn Hodge1-5/+67
2017-04-16MIR Gen - Handle move out of unionsJohn Hodge1-36/+69
2017-04-16MIR Gen - Refactor value tracking to split move-out and destructureJohn Hodge2-298/+547
2017-04-16MIR - Print SetDropFlag statementsJohn Hodge1-0/+11
2017-04-16MIR - Fix string printing to escape valuesJohn Hodge1-9/+2
2017-04-13MIR Gen - Do value raising for deref operator overloadsJohn Hodge2-3/+60
2017-04-07MIR Gen - Remove old DT match codeJohn Hodge1-1957/+3
2017-04-07Match - Replace DecisionTree with a sort+group algorithmJohn Hodge3-30/+1410
2017-03-30MIR Gen Match - Disable DTN algorithm due to minor bugJohn Hodge1-3/+38
2017-03-25MIR Gen - Fix a slight bug in borrow promotion, validate during `Lower MIR`John Hodge2-11/+49
2017-03-18MIR Gen - Fix scoping of values in let bindingsJohn Hodge3-31/+77
2017-03-18MIR Gen - Extend lifetimes of variables borrowed in let bindingsJohn Hodge3-20/+69
2017-03-16MIR Optimise - Fix mis-optimise with assignment propagationJohn Hodge1-4/+12
2017-03-16MIR Validate - Better debugJohn Hodge1-3/+8
2017-03-16MIR Gen - Fix incorrect scoping of temporariesJohn Hodge2-65/+106
2017-03-12MIR Gen - Fix Use-after-free when let borrows a temporaryJohn Hodge1-0/+13
2017-03-11MIR Dump - Fix bad printing of byte string literalsJohn Hodge1-1/+14
2017-03-11MIR Gen - Support integer ranges in simple match generationJohn Hodge1-2/+34
2017-03-11MIR Check full - Fiddling (still unbouned memory usage)John Hodge1-1/+11
2017-03-11MIR Gen Match - Fix bug in range handlingJohn Hodge1-2/+1
2017-03-10MIR Helpers - get_const_type defer TODOJohn Hodge1-3/+6
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 ↵John Hodge1-259/+147
unbounded runtime.