aboutsummaryrefslogtreecommitdiff
path: root/rega.c
diff options
context:
space:
mode:
Diffstat (limited to 'rega.c')
-rw-r--r--rega.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/rega.c b/rega.c
index 0359d2b..dd77a75 100644
--- a/rega.c
+++ b/rega.c
@@ -359,9 +359,10 @@ 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);