aboutsummaryrefslogtreecommitdiffhomepage
path: root/amd64
diff options
context:
space:
mode:
authorlemon <lsof@mailbox.org>2023-06-21 12:32:32 +0200
committerlemon <lsof@mailbox.org>2023-06-21 12:32:32 +0200
commit995fd23ecd5de710a6f587d29af2874b1fb4756d (patch)
treec8c8d95d51a25abbfc3ea08f984b8a1720cacc4b /amd64
parent2e4d5123544b86ec13e166dc94da43c850a588f2 (diff)
explicitly store predecessors in each block
Diffstat (limited to 'amd64')
-rw-r--r--amd64/isel.c8
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;