diff options
author | Quentin Carbonneaux <quentin.carbonneaux@yale.edu> | 2016-03-17 14:43:50 -0400 |
---|---|---|
committer | Quentin Carbonneaux <quentin.carbonneaux@yale.edu> | 2016-03-17 14:43:50 -0400 |
commit | 5e388fffbc87d05d53e10517d5ba1c6350e2c01a (patch) | |
tree | 832b92ebb560404d43ab7b87295e2ded48efc9a4 /lisc | |
parent | 240cfcd5cdda9301457867f9d26edcd0cf272b24 (diff) | |
download | roux-5e388fffbc87d05d53e10517d5ba1c6350e2c01a.tar.gz |
on the way to clean use counts
Diffstat (limited to 'lisc')
-rw-r--r-- | lisc/isel.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lisc/isel.c b/lisc/isel.c index ef9cbb7..51a0aa0 100644 --- a/lisc/isel.c +++ b/lisc/isel.c @@ -447,6 +447,7 @@ selret(Blk *b, Fn *fn) if (a.inmem) { assert(rtype(fn->retr) == RTmp); emit(OCopy, Kl, TMP(RAX), fn->retr, R); + chuse(fn->retr, +1, fn); blit(fn->retr, 0, r0, a.size, fn); } else { nr[0] = nr[1] = 0; @@ -458,6 +459,7 @@ selret(Blk *b, Fn *fn) r = newtmp("abi", Kl, fn); emit(OLoad, Kl, reg[1], r, R); emit(OAdd, Kl, r, r0, getcon(8, fn)); + chuse(r0, +1, fn); } emit(OLoad, Kl, reg[0], r0, R); } |