summary refs log tree commit diff
path: root/rega.c
diff options
context:
space:
mode:
authorQuentin Carbonneaux <quentin@c9x.me>2021-08-30 09:31:57 +0200
committerQuentin Carbonneaux <quentin@c9x.me>2021-08-30 09:31:57 +0200
commit028534d9897079bf64559dca0402bc59a956ce46 (patch)
tree61f21efe488c57d3c14947a54e7db84fbed71e7a /rega.c
parent7ac88f5d4874f03d62f48055eded26e9a08e54ac (diff)
downloadroux-028534d9897079bf64559dca0402bc59a956ce46.tar.gz
skip jump arguments in rega
On both amd64 & arm64, the jumps
making it to rega won't have any
argument.
Diffstat (limited to 'rega.c')
-rw-r--r--rega.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/rega.c b/rega.c
index 7547293..bd26f1c 100644
--- 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);