diff options
| author | 2023-06-11 19:29:30 +0200 | |
|---|---|---|
| committer | 2023-06-11 19:29:30 +0200 | |
| commit | 1139df03b0edbf08deb9aa26ade3776be3c1e180 (patch) | |
| tree | 0777ca13c5ae2e12064758f7fd20c78b80fa366b /irdump.c | |
| parent | 5ac04c7a3ec11d939a3773876b6924e1ae39f1a5 (diff) | |
remove RPARAM, add Oparam, lower args/rets to abi regs in abi0
Diffstat (limited to 'irdump.c')
| -rw-r--r-- | irdump.c | 11 |
1 files changed, 4 insertions, 7 deletions
@@ -84,7 +84,6 @@ dumpref(enum op o, union ref ref) case RREG: efmt("%s", mctarg->rnames[ref.i]); break; - case RPARAM: efmt("%%param%d", ref.i); break; case RICON: if (o == Ointrin) efmt("\"%s\"", intrinname[ref.i]); else efmt("%d", ref.i); @@ -129,7 +128,9 @@ dumpref(enum op o, union ref ref) efmt(" * %d", 1<<addr->shift); k = 1; } - if (k && addr->disp) efmt(" + %d", addr->disp); + if (k && addr->disp) { + efmt(" %c %d", "-+"[addr->disp > 0], addr->disp < 0 ? -addr->disp : addr->disp); + } assert(k); efmt("]"); } @@ -212,10 +213,6 @@ dumpblk(struct function *fn, struct block *blk) for (i = 0; i < 2; ++i) { if (!blk->jmp.arg[i].t) break; if (i > 0) efmt(", "); - if (blk->jmp.t == Jret && fn->nabiret > i) { - prityp(fn->abiret[i].ty); - efmt(" "); - } dumpref(0, blk->jmp.arg[i]); } if (i && blk->s1) efmt(", "); @@ -237,7 +234,7 @@ irdump(struct function *fn, const char *fname) efmt("abi: ("); for (int i = 0; i < fn->nabiarg; ++i) { if (i > 0) efmt(", "); - if (fn->abiarg[i].reg != -1) { + if (fn->abiarg[i].reg >= 0) { efmt("%s", mctarg->rnames[fn->abiarg[i].reg]); } else { prityp(fn->abiarg[i].ty); |