summary refs log tree commit diff
path: root/alias.c
diff options
context:
space:
mode:
authorQuentin Carbonneaux <quentin.carbonneaux@yale.edu>2017-02-23 11:19:11 -0500
committerQuentin Carbonneaux <quentin.carbonneaux@yale.edu>2017-02-23 11:19:11 -0500
commit06899861874b50f9abb3a59ed5b56af98f451111 (patch)
tree714d25c769c3ffd938840c7d52fb65a39e882d49 /alias.c
parenteebbb69291369c3188064d6c3cb779bc47e09bbe (diff)
downloadroux-06899861874b50f9abb3a59ed5b56af98f451111.tar.gz
propagate aliasing information through copies
Diffstat (limited to 'alias.c')
-rw-r--r--alias.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/alias.c b/alias.c
index 56178ca..a24d9b3 100644
--- a/alias.c
+++ b/alias.c
@@ -130,6 +130,10 @@ fillalias(Fn *fn)
 				a->base = i->to;
 				a->offset = 0;
 			}
+			if (i->op == Ocopy) {
+				assert(a);
+				getalias(a, i->arg[0], fn);
+			}
 			if (i->op == Oadd) {
 				getalias(&a0, i->arg[0], fn);
 				getalias(&a1, i->arg[1], fn);