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:
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);