From 3ef1d83866fa07a44cc6ff3908da3fb57de61142 Mon Sep 17 00:00:00 2001 From: Quentin Carbonneaux Date: Tue, 22 Sep 2015 17:25:03 -0400 Subject: [PATCH] do not do dce on register assignments --- lisc/rega.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisc/rega.c b/lisc/rega.c index e1f0a6d..ea42ad1 100644 --- a/lisc/rega.c +++ b/lisc/rega.c @@ -339,7 +339,7 @@ rega(Fn *fn) if (!req(i->to, R)) { assert(rtype(i->to) == RTmp); r = rfree(&cur, i->to.val); - if (r == -1) { + if (r == -1 && !isreg(i->to)) { *i = (Ins){.op = ONop}; continue; }