summary refs log tree commit diff
path: root/lisc/spill.c
diff options
context:
space:
mode:
Diffstat (limited to 'lisc/spill.c')
-rw-r--r--lisc/spill.c20
1 files changed, 2 insertions, 18 deletions
diff --git a/lisc/spill.c b/lisc/spill.c
index 115b6fc..36b08cd 100644
--- a/lisc/spill.c
+++ b/lisc/spill.c
@@ -258,22 +258,6 @@ setloc(Ref *pr, Bits *v, Bits *w)
 	}
 }
 
-static Bits
-inregs(Blk *b, Blk *s) /* todo, move to live.c */
-{
-	Bits v;
-	Phi *p;
-	uint a;
-
-	v = s->in;
-	for (p=s->phi; p; p=p->link)
-		for (a=0; a<p->narg; a++)
-			if (p->blk[a] == b)
-			if (rtype(p->arg[a]) == RTmp)
-				BSET(v, p->arg[a].val);
-	return v;
-}
-
 static Ins *
 dopm(Blk *b, Ins *i, Bits *v)
 {
@@ -374,10 +358,10 @@ spill(Fn *fn)
 			} else if (j > NReg)
 				limit(&v, NReg, 0);
 		} else if (s1) {
-			v = inregs(b, s1);
+			v = liveon(b, s1);
 			w = v;
 			if (s2) {
-				u = inregs(b, s2);
+				u = liveon(b, s2);
 				for (z=0; z<BITS; z++) {
 					v.t[z] |= u.t[z];
 					w.t[z] &= u.t[z];