commit 52392caecfb4fceeee487dfcc1e327ac140c8f6a
parent a85fe6e2d955b0b34e0d17ca244a978489db4a00
Author: Michael Forney <mforney@mforney.org>
Date: Wed, 6 Mar 2019 20:31:11 -0800
fix in load elimination (vacall is a call)
Diffstat:
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git 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) {