diff options
| author | 2023-06-21 12:32:32 +0200 | |
|---|---|---|
| committer | 2023-06-21 12:32:32 +0200 | |
| commit | 995fd23ecd5de710a6f587d29af2874b1fb4756d (patch) | |
| tree | c8c8d95d51a25abbfc3ea08f984b8a1720cacc4b /amd64 | |
| parent | 2e4d5123544b86ec13e166dc94da43c850a588f2 (diff) | |
explicitly store predecessors in each block
Diffstat (limited to 'amd64')
| -rw-r--r-- | amd64/isel.c | 8 |
1 files changed, 4 insertions, 4 deletions
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; |