From df0836e47565d99632e67f9b9fb62dec52a5b73a Mon Sep 17 00:00:00 2001 From: Quentin Carbonneaux Date: Fri, 24 Jul 2015 09:32:17 -0400 Subject: [PATCH] isel logic was moved to spill --- lisc/isel.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/lisc/isel.c b/lisc/isel.c index 60cc2d5..fa01fce 100644 --- a/lisc/isel.c +++ b/lisc/isel.c @@ -1,11 +1,6 @@ #include "lisc.h" /* For x86_64, we have to: - * - * - add dummy uses for the second argument - * after non-commutative arithmetic - * operations (this prevents the reg. - * allocator to get 'eax = sub ebx eax') * * - check that constants are used only in * places allowed by the machine @@ -62,9 +57,7 @@ sel(Ins *i, Fn *fn) break; case OAdd: case OSub: - if (!opdesc[i->op].commut - && rtype(i->arg[1]) != RConst) - emit(OCopy, R, i->arg[1], R); + case OCopy: emit(i->op, i->to, i->arg[0], i->arg[1]); break; default: