summary refs log tree commit diff
path: root/live.c
diff options
context:
space:
mode:
authorQuentin Carbonneaux <quentin.carbonneaux@yale.edu>2016-04-18 13:54:17 -0400
committerQuentin Carbonneaux <quentin.carbonneaux@yale.edu>2016-04-18 13:54:17 -0400
commitc6f3adc52d375d434e3dfd2d23056f0bfdbcdc67 (patch)
tree4b8b8b5c9ed8599126a441d45c536ff2aa74e45a /live.c
parent5873a7dc1e805b601c49f607fcb11692e3b5e74a (diff)
downloadroux-c6f3adc52d375d434e3dfd2d23056f0bfdbcdc67.tar.gz
phis can assign slots after spill
Diffstat (limited to 'live.c')
-rw-r--r--live.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/live.c b/live.c
index 66c84e8..785a535 100644
--- a/live.c
+++ b/live.c
@@ -8,7 +8,8 @@ liveon(BSet *v, Blk *b, Blk *s)
 
 	bscopy(v, s->in);
 	for (p=s->phi; p; p=p->link)
-		bsclr(v, p->to.val);
+		if (rtype(p->to) == RTmp)
+			bsclr(v, p->to.val);
 	for (p=s->phi; p; p=p->link)
 		for (a=0; a<p->narg; a++)
 			if (p->blk[a] == b)