summary refs log tree commit diff
path: root/live.c
diff options
context:
space:
mode:
authorQuentin Carbonneaux <quentin.carbonneaux@yale.edu>2016-04-04 14:55:28 -0400
committerQuentin Carbonneaux <quentin.carbonneaux@yale.edu>2016-04-04 15:44:43 -0400
commit7b3f0f8424155d4213cc8ad399fb41a4e4d64333 (patch)
tree8b9a22fc34870716d8730d564583a13e8d8037fa /live.c
parent74562a93debff6954f16a4c3434efa69d37c954b (diff)
downloadroux-7b3f0f8424155d4213cc8ad399fb41a4e4d64333.tar.gz
fat il!
Diffstat (limited to 'live.c')
-rw-r--r--live.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/live.c b/live.c
index cd02aec..3265b3e 100644
--- a/live.c
+++ b/live.c
@@ -26,7 +26,7 @@ phitmp(int t, Tmp *tmp)
 }
 
 static void
-phifix(int t1, short *phi, Tmp *tmp)
+phifix(int t1, int *phi, Tmp *tmp)
 {
 	int t, t2;
 
@@ -49,7 +49,7 @@ phifix(int t1, short *phi, Tmp *tmp)
 }
 
 static void
-bset(Ref r, Blk *b, int *nlv, short *phi, Tmp *tmp)
+bset(Ref r, Blk *b, int *nlv, int *phi, Tmp *tmp)
 {
 
 	if (rtype(r) != RTmp)
@@ -71,7 +71,7 @@ filllive(Fn *f)
 	Blk *b;
 	Ins *i;
 	int k, t, m[2], n, chg, nlv[2];
-	short *phi;
+	int *phi;
 	BSet u[1], v[1];
 	Mem *ma;
 
@@ -106,7 +106,7 @@ Again:
 			phifix(t, phi, f->tmp);
 			nlv[KBASE(f->tmp[t].cls)]++;
 		}
-		if (rtype(b->jmp.arg) == RACall) {
+		if (rtype(b->jmp.arg) == RCall) {
 			assert(bscount(b->in) == 0 && nlv[0] == 0 && nlv[1] == 0);
 			b->in->t[0] |= retregs(b->jmp.arg, nlv);
 		} else
@@ -114,7 +114,7 @@ Again:
 		for (k=0; k<2; k++)
 			b->nlive[k] = nlv[k];
 		for (i=&b->ins[b->nins]; i!=b->ins;) {
-			if ((--i)->op == OCall && rtype(i->arg[1]) == RACall) {
+			if ((--i)->op == OCall && rtype(i->arg[1]) == RCall) {
 				b->in->t[0] &= ~retregs(i->arg[1], m);
 				for (k=0; k<2; k++)
 					nlv[k] -= m[k];
@@ -137,8 +137,8 @@ Again:
 			}
 			for (k=0; k<2; k++)
 				switch (rtype(i->arg[k])) {
-				case RAMem:
-					ma = &f->mem[i->arg[k].val & AMask];
+				case RMem:
+					ma = &f->mem[i->arg[k].val];
 					bset(ma->base, b, nlv, phi, f->tmp);
 					bset(ma->index, b, nlv, phi, f->tmp);
 					break;