diff options
author | Quentin Carbonneaux <quentin.carbonneaux@yale.edu> | 2017-02-07 22:49:17 -0500 |
---|---|---|
committer | Quentin Carbonneaux <quentin.carbonneaux@yale.edu> | 2017-02-08 10:49:55 -0500 |
commit | 8799dc30ac472545bc93957c22f070590ff44cb3 (patch) | |
tree | fd7aef35ed9eda70aae4b8c6f1216addb4bdc94c /live.c | |
parent | c71f44c5a86f41e65179633160edeb90a9543987 (diff) | |
download | roux-8799dc30ac472545bc93957c22f070590ff44cb3.tar.gz |
make rsp and rbp globally live
Diffstat (limited to 'live.c')
-rw-r--r-- | live.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/live.c b/live.c index be5ec8c..18c9b63 100644 --- a/live.c +++ b/live.c @@ -104,13 +104,14 @@ Again: memset(phi, 0, f->ntmp * sizeof phi[0]); memset(nlv, 0, sizeof nlv); + b->out->t[0] |= RGLOB; bscopy(b->in, b->out); for (t=0; bsiter(b->in, &t); t++) { phifix(t, phi, f->tmp); nlv[KBASE(f->tmp[t].cls)]++; } if (rtype(b->jmp.arg) == RCall) { - assert(bscount(b->in) == 0 && nlv[0] == 0 && nlv[1] == 0); + assert(bscount(b->in) == NRGlob && nlv[0] == NRGlob && nlv[1] == 0); b->in->t[0] |= retregs(b->jmp.arg, nlv); } else bset(b->jmp.arg, b, nlv, phi, f->tmp); |