aboutsummaryrefslogtreecommitdiff
path: root/live.c
diff options
context:
space:
mode:
authorQuentin Carbonneaux <[email protected]>2017-02-07 22:49:17 -0500
committerQuentin Carbonneaux <[email protected]>2017-02-08 10:49:55 -0500
commit8799dc30ac472545bc93957c22f070590ff44cb3 (patch)
treefd7aef35ed9eda70aae4b8c6f1216addb4bdc94c /live.c
parentc71f44c5a86f41e65179633160edeb90a9543987 (diff)
make rsp and rbp globally live
Diffstat (limited to 'live.c')
-rw-r--r--live.c3
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);