mirror of
git://c9x.me/qbe.git
synced 2026-04-07 02:49:47 +00:00
on the way to clean use counts
This commit is contained in:
parent
240cfcd5cd
commit
5e388fffbc
@ -447,6 +447,7 @@ selret(Blk *b, Fn *fn)
|
|||||||
if (a.inmem) {
|
if (a.inmem) {
|
||||||
assert(rtype(fn->retr) == RTmp);
|
assert(rtype(fn->retr) == RTmp);
|
||||||
emit(OCopy, Kl, TMP(RAX), fn->retr, R);
|
emit(OCopy, Kl, TMP(RAX), fn->retr, R);
|
||||||
|
chuse(fn->retr, +1, fn);
|
||||||
blit(fn->retr, 0, r0, a.size, fn);
|
blit(fn->retr, 0, r0, a.size, fn);
|
||||||
} else {
|
} else {
|
||||||
nr[0] = nr[1] = 0;
|
nr[0] = nr[1] = 0;
|
||||||
@ -458,6 +459,7 @@ selret(Blk *b, Fn *fn)
|
|||||||
r = newtmp("abi", Kl, fn);
|
r = newtmp("abi", Kl, fn);
|
||||||
emit(OLoad, Kl, reg[1], r, R);
|
emit(OLoad, Kl, reg[1], r, R);
|
||||||
emit(OAdd, Kl, r, r0, getcon(8, fn));
|
emit(OAdd, Kl, r, r0, getcon(8, fn));
|
||||||
|
chuse(r0, +1, fn);
|
||||||
}
|
}
|
||||||
emit(OLoad, Kl, reg[0], r0, R);
|
emit(OLoad, Kl, reg[0], r0, R);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user