diff options
author | Quentin Carbonneaux <quentin.carbonneaux@yale.edu> | 2015-11-09 21:29:22 -0500 |
---|---|---|
committer | Quentin Carbonneaux <quentin.carbonneaux@yale.edu> | 2015-11-09 21:29:55 -0500 |
commit | a8d5c13a3ec29f07e93613cdabaee2e05348608c (patch) | |
tree | 41b433fb735d8c0a35bc405e03debf8c0d827472 /lisc | |
parent | 25d15ca89b167d73d674d7840f7e381674eaa57b (diff) | |
download | roux-a8d5c13a3ec29f07e93613cdabaee2e05348608c.tar.gz |
precise OCall test in liveness
Diffstat (limited to 'lisc')
-rw-r--r-- | lisc/live.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lisc/live.c b/lisc/live.c index d355fd6..dc8060d 100644 --- a/lisc/live.c +++ b/lisc/live.c @@ -111,7 +111,8 @@ Again: bset(b->jmp.arg, b, &nlv, phi, f->tmp); b->nlive = nlv; for (i=&b->ins[b->nins]; i!=b->ins;) { - if ((--i)->op == OCall) { + if ((--i)->op == OCall) + if (rtype(i->arg[1]) == RACall) { b->in.t[0] &= ~calldef(*i, &m); nlv -= m; if (nlv + NRSave > b->nlive) |