summaryrefslogtreecommitdiff
path: root/Notes
diff options
context:
space:
mode:
authorJohn Hodge <tpg@ucc.asn.au>2017-06-16 23:48:05 +0800
committerJohn Hodge <tpg@ucc.asn.au>2017-06-16 23:48:05 +0800
commitbadd9c855f15c8d84eea0ea5d9aa0324393de959 (patch)
tree4fb1fb398e411d4681e5083b4e4d7ed9afabe4fe /Notes
parent8b082ee7d1ebf4488dd8d416431c08fdefffb639 (diff)
downloadmrust-badd9c855f15c8d84eea0ea5d9aa0324393de959.tar.gz
Notes - Prospective MIR optimisations
Diffstat (limited to 'Notes')
-rw-r--r--Notes/todo.txt9
1 files changed, 9 insertions, 0 deletions
diff --git a/Notes/todo.txt b/Notes/todo.txt
index 54956718..8146bfd6 100644
--- a/Notes/todo.txt
+++ b/Notes/todo.txt
@@ -23,3 +23,12 @@ TODO:
- This should reduce the amount of code needed for validation, but will be a
BIG change.
+
+
+## Optimisations
+- Argument propagation: replace assignments from Argument(_) if target is only
+ written once
+- Dead assignment removal (Delete `<val> = Use(<val>)`
+- Tuple destructure removal
+ - Spot `#1 = (...,)`, `#2 = (#1).n` where #1 is Write-once, borrow-none
+