From 3b9071be52359388a4a1db6b48636f6c4934b9ad Mon Sep 17 00:00:00 2001 From: lemon Date: Tue, 20 Jun 2023 10:58:17 +0200 Subject: don't lower params and args to registers in abi0 it's better to do it later, currently in isel(), but perhaps in a pre-isel abi1 pass --- irdump.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'irdump.c') diff --git a/irdump.c b/irdump.c index f1a64f5..c936638 100644 --- a/irdump.c +++ b/irdump.c @@ -203,6 +203,11 @@ dumpblk(struct function *fn, struct block *blk) dumpinst(&instrtab[blk->ins.p[i]]); } efmt(" %s ", jnames[blk->jmp.t]); + if (blk->jmp.arg[0].t && !fn->nabiret && isagg(fn->retty)) { + /* un-lowered struct return */ + dumpref(0, mktyperef(mkirtype(fn->retty))); + efmt(" "); + } for (i = 0; i < 2; ++i) { if (!blk->jmp.arg[i].t) break; if (i > 0) efmt(", "); -- cgit v1.2.3