qbe

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

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:
Mload.c | 2+-
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) {