about summary refs log tree commit diff stats
path: root/mu_summary
diff options
context:
space:
mode:
Diffstat (limited to 'mu_summary')
-rw-r--r--mu_summary11
1 files changed, 8 insertions, 3 deletions
diff --git a/mu_summary b/mu_summary
index 179aa11f..e4e82905 100644
--- a/mu_summary
+++ b/mu_summary
@@ -197,9 +197,14 @@ Similarly, conditional loops:
 
 ## Array operations
 
-  var/reg: int <- length var: (addr array T)
-  var/reg: (addr T) <- index var: (addr array T), idx: int
-  var/reg: (addr T) <- index var: (addr array T), n
+  var/reg: int <- length arr/reg: (addr array T)
+  var/reg: (addr T) <- index arr/reg: (addr array T), idx/reg: int
+  var/reg: (addr T) <- index arr/reg: (addr array T), n
+
+  var/reg: (offset T) <- compute-offset arr: (addr array T), idx/reg: int  # arr can be in reg or mem
+  var/reg: (offset T) <- compute-offset arr: (addr array T), n             # arr can be in reg or mem
+  var: (offset T) <- compute-offset arr: (addr array T), n                 # arr can be in reg or mem
+  var/reg: (addr T) <- index arr/reg: (addr array T), idx/reg: (offset T)
 
 ## User-defined types