summary refs log tree commit diff
path: root/amd64/sysv.c
diff options
context:
space:
mode:
authorMichael Forney <mforney@mforney.org>2020-04-19 16:31:52 -0700
committerQuentin Carbonneaux <quentin@c9x.me>2020-08-06 09:51:12 +0200
commit9de57265ce8453de0f773c48550ca05460844dd1 (patch)
treec6950680b590eb1cb698bed97cc5ef20dda794fa /amd64/sysv.c
parent190263f1b628ba3171309147120fd3ba0e370b42 (diff)
downloadroux-9de57265ce8453de0f773c48550ca05460844dd1.tar.gz
Use a dynamic array for phi arguments
Diffstat (limited to 'amd64/sysv.c')
-rw-r--r--amd64/sysv.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/amd64/sysv.c b/amd64/sysv.c
index ea9b2d2..286300a 100644
--- a/amd64/sysv.c
+++ b/amd64/sysv.c
@@ -590,9 +590,13 @@ selvaarg(Fn *fn, Blk *b, Ins *i)
 	*b0->phi = (Phi){
 		.cls = Kl, .to = loc,
 		.narg = 2,
-		.blk = {bstk, breg},
-		.arg = {lstk, lreg},
+		.blk = vnew(2, sizeof b0->phi->blk[0], Pfn),
+		.arg = vnew(2, sizeof b0->phi->arg[0], Pfn),
 	};
+	b0->phi->blk[0] = bstk;
+	b0->phi->blk[1] = breg;
+	b0->phi->arg[0] = lstk;
+	b0->phi->arg[1] = lreg;
 	r0 = newtmp("abi", Kl, fn);
 	r1 = newtmp("abi", Kw, fn);
 	b->jmp.type = Jjnz;