diff options
author | Michael Forney <mforney@mforney.org> | 2019-03-06 20:31:11 -0800 |
---|---|---|
committer | Quentin Carbonneaux <quentin@c9x.me> | 2019-03-07 19:28:12 +0100 |
commit | 52392caecfb4fceeee487dfcc1e327ac140c8f6a (patch) | |
tree | 9e38d41a20b7353a5a61f635f878cbbad01ec9ed /load.c | |
parent | a85fe6e2d955b0b34e0d17ca244a978489db4a00 (diff) | |
download | roux-52392caecfb4fceeee487dfcc1e327ac140c8f6a.tar.gz |
fix in load elimination (vacall is a call)
Diffstat (limited to 'load.c')
-rw-r--r-- | load.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/load.c b/load.c index 504b2d8..8e1328e 100644 --- a/load.c +++ b/load.c @@ -231,7 +231,7 @@ def(Slice sl, bits msk, Blk *b, Ins *i, Loc *il) while (i > b->ins) { --i; if (killsl(i->to, sl) - || (i->op == Ocall && escapes(sl.ref, curf))) + || ((i->op == Ocall || i->op == Ovacall) && escapes(sl.ref, curf))) goto Load; ld = isload(i->op); if (ld) { |