diff options
author | John Hodge <tpg@ucc.asn.au> | 2019-11-16 17:07:20 +0800 |
---|---|---|
committer | John Hodge <tpg@ucc.asn.au> | 2019-11-16 17:07:20 +0800 |
commit | 959a1fbbc3d6f9e2d097b806f1993bfe9193e686 (patch) | |
tree | fb9139ac3f4525913c0ffc402374d787b64d1298 | |
parent | d7c082bbd1a991bc155a1a76fea52fc0dcb3abb3 (diff) | |
download | mrust-959a1fbbc3d6f9e2d097b806f1993bfe9193e686.tar.gz |
Notes - More todos
-rw-r--r-- | Notes/todo.txt | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Notes/todo.txt b/Notes/todo.txt index 290ac289..693dd164 100644 --- a/Notes/todo.txt +++ b/Notes/todo.txt @@ -14,6 +14,7 @@ TODO: - Fix Span annotations - Spans are missing on HIR items, sub-par reporting in typecheck and later - Spans can be off by a line or two + - Convert spans so they're 1 pointer inline (to save space) - Refactor parse to use a consume model lexer - Will _probably_ improve speed and simplicity, but will need checking - Optimise optimise (and typecheck) @@ -29,6 +30,11 @@ TODO: - This can share the ivar table - Compact/dedup the table once done? - Store a `shared_ptr` and index on each node (3 pointers instead of huge TypeRef instance) +- Add a test framework for MIR optimistations + - Have an input MIR function, and check that the output is as expected + - Can ensure that mis-optimisations don't happen + - ?Standalone application that parses serialised MIR and types +- Deferred constant evaluation (for generic array sizes) ## Smaller changes - Cache specialisation tree @@ -46,7 +52,6 @@ TODO: - Extra complexity in typecheck and MIR lowering? - Need to check/assume that the lists are the same length - ## Optimisations - Argument propagation: replace assignments from `Argument(_)` if target is only written once |