From 5aba86743d63a9d7000ce4e410ff7c61bcb0547f Mon Sep 17 00:00:00 2001 From: Teddy Date: Sun, 4 May 2014 11:41:39 +0800 Subject: argument opt has been postponed --- ssa.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'ssa.c') diff --git a/ssa.c b/ssa.c index 4b6fe60..6fcc653 100644 --- a/ssa.c +++ b/ssa.c @@ -2003,6 +2003,12 @@ void register_alloc() { for (p = raw_defs; p; p = p->next) { COpr_t opr = p->opr; + /* + if (opr->info.var->loc < 0) + { + opr->reg = 3 - opr->info.var->loc; + continue; + } */ /* arguments */ opr->reg = -2; if (opr->par != opr) continue; if (cinterv_repr(opr)->range) @@ -2283,16 +2289,16 @@ void ssa_func(CType_t func) { CPSet_t vs = cpset_create(), avs = cpset_create(); CVList_t vars = NULL; COList_t all_oprs = NULL; - CVar_t pr; + /* CVar_t pr; */ int i; cfg_clear(); dtree_clear(); ssa_comp(func->rec.func.body, entry, NULL); + /* for (i = 0, pr = func->rec.func.params; i < 4 && pr; i++, pr = pr->next) - { - } + pr->loc = -(i + 1); */ /* mark arguments */ for (p = entry; p; p = p->next) { -- cgit v1.2.3