summary refs log tree commit diff
path: root/lisc
diff options
context:
space:
mode:
Diffstat (limited to 'lisc')
-rw-r--r--lisc/lisc.h2
-rw-r--r--lisc/ssa.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/lisc/lisc.h b/lisc/lisc.h
index 41be0ad..a57a984 100644
--- a/lisc/lisc.h
+++ b/lisc/lisc.h
@@ -77,7 +77,7 @@ enum Reg {
 
 enum {
 	NString = 32,
-	NPred   = 15,
+	NPred   = 63,
 	NIns    = 8192,
 	NAlign  = 3,
 	NSeg    = 32,
diff --git a/lisc/ssa.c b/lisc/ssa.c
index 269406b..7ccd944 100644
--- a/lisc/ssa.c
+++ b/lisc/ssa.c
@@ -464,6 +464,8 @@ renblk(Blk *b, Name **stk, Fn *fn)
 			t = p->to.val;
 			if ((t=fn->tmp[t].visit)) {
 				m = p->narg++;
+				if (m == NPred)
+					diag("ssa: too many phi arguments");
 				p->arg[m] = getstk(t, b, stk);
 				p->blk[m] = b;
 			}