From 995fd23ecd5de710a6f587d29af2874b1fb4756d Mon Sep 17 00:00:00 2001 From: lemon Date: Wed, 21 Jun 2023 12:32:32 +0200 Subject: explicitly store predecessors in each block --- amd64/isel.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'amd64') diff --git a/amd64/isel.c b/amd64/isel.c index e5aa281..3f83312 100644 --- a/amd64/isel.c +++ b/amd64/isel.c @@ -413,10 +413,10 @@ amd64_isel(struct function *fn) do { int i; for (i = 0; i < blk->phi.n; ++i) { - struct phi *phi = &phitab.p[instrtab[blk->phi.p[i]].l.i]; - for (int i = 0; i < phi->n; ++i) { - int curi = phi->blk[i]->ins.n; - fixarg(&phi->ref[i], NULL, phi->blk[i], &curi); + union ref *phi = phitab.p[instrtab[blk->phi.p[i]].l.i]; + for (int i = 0; i < blk->npred; ++i) { + int curi = blkpred(blk, i)->ins.n; + fixarg(&phi[i], NULL, blkpred(blk, i), &curi); } } iflagsrc = -1; -- cgit v1.2.3