qbe

Internal scc patchset buffer for QBE
Log | Files | Refs | README | LICENSE

commit a8d5c13a3ec29f07e93613cdabaee2e05348608c
parent 25d15ca89b167d73d674d7840f7e381674eaa57b
Author: Quentin Carbonneaux <quentin.carbonneaux@yale.edu>
Date:   Mon,  9 Nov 2015 21:29:22 -0500

precise OCall test in liveness

Diffstat:
Mlisc/live.c | 3++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git 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)