aboutsummaryrefslogtreecommitdiffhomepage
path: root/regalloc.c
diff options
context:
space:
mode:
authorlemon <lsof@mailbox.org>2023-06-04 13:15:15 +0200
committerlemon <lsof@mailbox.org>2023-06-04 13:15:15 +0200
commitd8f63a7c8f9ec6c1213e219d4b6d5d30ce595cdd (patch)
tree84f2f383fcd129332b3a0a6a7bb85666e7569934 /regalloc.c
parent45cd3d8d6eeccc42f7e0b23f7871b29f3ce6f7e7 (diff)
evaluate call args backwards
Diffstat (limited to 'regalloc.c')
-rw-r--r--regalloc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/regalloc.c b/regalloc.c
index 6200d0f..92d2b30 100644
--- a/regalloc.c
+++ b/regalloc.c
@@ -39,7 +39,7 @@ use(struct block *blk, enum op op, int hint, union ref *ref)
if (op == Ocall || op == Ointrin) {
struct call *call = &calltab.p[ref->idx];
for (int i = 0; i < call->narg; ++i)
- use(blk, 0, 0, &call->args[i]);
+ use(blk, 0, op == Ocall ? call->abiargregs[i] : -1, &call->args[i]);
} else if (op == Ophi) {
struct phi *phi = &phitab.p[ref->idx];
for (int i = 0; i < phi->n; ++i)