aboutsummaryrefslogtreecommitdiffhomepage
path: root/abi0.c
diff options
context:
space:
mode:
authorlemon <lsof@mailbox.org>2023-06-22 21:54:08 +0200
committerlemon <lsof@mailbox.org>2023-06-22 21:54:08 +0200
commitd313c6e49bfb32ae24745e90eebe833da20efa1a (patch)
tree73f950f515b4442a800ecc4e35c346b0cc263a89 /abi0.c
parent836f91535f421be4cba2840aed55aba3c5f72f1b (diff)
change RMORE -> RADDR; use RXXX (RNONE) for special args,also undef
Diffstat (limited to 'abi0.c')
-rw-r--r--abi0.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/abi0.c b/abi0.c
index 2024424..a798735 100644
--- a/abi0.c
+++ b/abi0.c
@@ -316,7 +316,7 @@ abi0(struct function *fn)
do {
union ref arg = blk->jmp.arg[0];
if (blk->jmp.t != Jret) continue;
- if (!arg.t) continue;
+ if (!arg.bits) continue;
if (arg.t != RTMP || !oisalloca(instrtab[arg.i].op)) {
rvovar = -1;
break;
@@ -342,8 +342,8 @@ abi0(struct function *fn)
}
/* adjust returns */
- if (isagg(fn->retty) && blk->jmp.t == Jret && blk->jmp.arg[0].t) {
- assert(!blk->jmp.arg[1].t);
+ if (isagg(fn->retty) && blk->jmp.t == Jret && blk->jmp.arg[0].bits) {
+ assert(!blk->jmp.arg[1].bits);
if (fn->nabiret) { /* aggregate return in register(s) */
union ref src = blk->jmp.arg[0];
for (int i = 0; i < fn->nabiret; ++i) {