summaryrefslogtreecommitdiff
path: root/src/mir
AgeCommit message (Collapse)AuthorFilesLines
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-25MIR Cleanup - Delete any statements including/after use of !John Hodge1-1/+15
2017-11-21MIR Gen - Fix use-after-move when partially moved in one arm and optionally ↵John Hodge2-1/+17
moved in another
2017-11-21MIR Helpers - Print file/line in assertJohn Hodge1-1/+1
2017-11-21MIR Validate Full - Alter handling of BoxJohn Hodge1-1/+11
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-05MIR - Use SwitchValue terminatorJohn Hodge1-45/+57
2017-11-02MIR Optimise - Slight optimisationJohn Hodge3-13/+28
2017-11-01HIR - Refactor enums to only embed a single field (and give variants types)John Hodge9-282/+227
2017-10-29HIR Typecheck - Allow casting function pointers to *const i8John Hodge1-1/+1
2017-10-01MIR Optimise - (minor) debuggingJohn Hodge1-0/+6
2017-09-22Trans - Little fixes for MSVC 32-bitJohn Hodge1-1/+9
2017-09-10Consteval - Remove BorrowOf in favor of BorrowPath/BorrowDataJohn Hodge1-8/+36
2017-09-10MIR Optimise - HACK: Don't optimise constants/staticsJohn Hodge1-0/+6
2017-09-08MIR Gen - Fix box drop flagsJohn Hodge3-23/+14
2017-09-08Typecheck - Various tweaks from librustdocJohn Hodge1-1/+1
2017-09-05MIR Gen Match - Handle split slice trailingJohn Hodge1-12/+9
2017-09-04MIR Gen - Partial support for trailing slice patternsJohn Hodge2-20/+70
2017-09-04All - Placement new (<-) syntaxJohn Hodge1-13/+24
2017-09-02Misc - Clean up some MSVC warningsJohn Hodge1-1/+1
2017-09-02MIR Lower Match - Allow up to 2^14 arms (handles inefficient derive)John Hodge1-6/+13
2017-09-02MIR Lower - Handle `break value`John Hodge1-2/+28
2017-08-23MIR Optimise - TODO: Reduce costJohn Hodge1-0/+1
2017-08-23MIR Check - (minor) fix re-use of variable nameJohn Hodge1-2/+2
2017-08-22Typecheck/MIR - Some missing EAT invocationsJohn Hodge1-2/+5
2017-07-25HIR Typecheck - Refactor of markings to keep more informationJohn Hodge2-13/+13
2017-07-16All - Upgrade to rustc 1.19.0 beta (2017-07-08)John Hodge1-5/+5
2017-07-08Codegen+Loading - MSVC support draft (libcore compiles, doesn't load)John Hodge2-0/+10
2017-07-06MIR - Add (but don't use) a SwitchValue terminatorJohn Hodge8-165/+202
2017-07-06MIR Helpers - Expand associated types in monomorpised function typesJohn Hodge1-1/+3
2017-07-06MIR Gen - Reset drop flags on entry to a loop (instead of after use)John Hodge3-17/+30
2017-07-02MIR Gen - Make mutating state (other than the if condition) within a match ↵John Hodge3-1/+33
guard an error
2017-07-02MIR Optimise - Store params and Copy args earlyJohn Hodge2-22/+40
2017-07-02MIR Gen - Track states for arguments (and directly use arguments where possible)John Hodge4-95/+181
2017-06-25MIR Helpers - Add a shortcut to check if a LValue is CopyJohn Hodge2-0/+6
2017-06-25MIR Optimise - Support minimal optimisiationsJohn Hodge2-19/+306
2017-06-23MIR Gen - Disable argument replacement until argument states are tracked fullyJohn Hodge2-3/+18
2017-06-22MIR Gen - Remove arguments that are just assigned from argumentsJohn Hodge2-0/+15
2017-06-18MIR Optimise - (minor) Comment on sortJohn Hodge1-0/+1
2017-06-17MIR Optimise - Sort BBs into approximate program flowJohn Hodge2-1/+117
2017-06-16MIR optimise - Fix a few little bugsJohn Hodge3-22/+80
2017-06-16MIR - Unify temporaries and variablesJohn Hodge13-830/+457
2017-06-10MIR Validate Full - Remove need for garbage collection of statesJohn Hodge1-45/+142
2017-06-10MIR Gen - Fix incorrect codegen due to defaulting to 0 not ~0John Hodge1-2/+2
2017-06-09Fix use of hard tabsJohn Hodge2-7/+7
2017-06-04Merge branch 'master' of https://github.com/thepowersgang/mrustcJohn Hodge (bugs)4-141/+237
2017-06-03HIR Typecheck - Validate traits after typecheckJohn Hodge1-0/+2
2017-06-02MIR Optimise - Remove unused drop flagsJohn Hodge1-81/+106