summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Hodge <tpg@ucc.asn.au>2019-11-16 17:07:20 +0800
committerJohn Hodge <tpg@ucc.asn.au>2019-11-16 17:07:20 +0800
commit959a1fbbc3d6f9e2d097b806f1993bfe9193e686 (patch)
treefb9139ac3f4525913c0ffc402374d787b64d1298
parentd7c082bbd1a991bc155a1a76fea52fc0dcb3abb3 (diff)
downloadmrust-959a1fbbc3d6f9e2d097b806f1993bfe9193e686.tar.gz
Notes - More todos
-rw-r--r--Notes/todo.txt7
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