qbe

Internal scc patchset buffer for QBE
Log | Files | Refs | README | LICENSE

commit 028534d9897079bf64559dca0402bc59a956ce46
parent 7ac88f5d4874f03d62f48055eded26e9a08e54ac
Author: Quentin Carbonneaux <quentin@c9x.me>
Date:   Mon, 30 Aug 2021 09:31:57 +0200

skip jump arguments in rega

On both amd64 & arm64, the jumps
making it to rega won't have any
argument.

Diffstat:
Mrega.c | 3+--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/rega.c b/rega.c @@ -359,10 +359,9 @@ doblk(Blk *b, RMap *cur) Mem *m; Ref *ra[4]; + assert(rtype(b->jmp.arg) != RTmp); for (r=0; bsiter(b->out, &r) && r<Tmp0; r++) radd(cur, r, r); - if (rtype(b->jmp.arg) == RTmp) - b->jmp.arg = ralloc(cur, b->jmp.arg.val); curi = &insb[NIns]; for (i1=&b->ins[b->nins]; i1!=b->ins;) { emiti(*--i1);