From d8f63a7c8f9ec6c1213e219d4b6d5d30ce595cdd Mon Sep 17 00:00:00 2001 From: lemon Date: Sun, 4 Jun 2023 13:15:15 +0200 Subject: evaluate call args backwards --- regalloc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'regalloc.c') 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) -- cgit v1.2.3