From 3c82b9e5cfa0f8e406aed4d3358ef73dc23611d4 Mon Sep 17 00:00:00 2001 From: Matthias Braun Date: Fri, 31 Aug 2007 14:44:11 +0000 Subject: [PATCH] no need for StackParam transformation anymore [r15638] --- ir/be/mips/mips_transform.c | 175 ------------------------------------ 1 file changed, 175 deletions(-) diff --git a/ir/be/mips/mips_transform.c b/ir/be/mips/mips_transform.c index c2657619c..9c9e32f1c 100644 --- a/ir/be/mips/mips_transform.c +++ b/ir/be/mips/mips_transform.c @@ -1102,27 +1102,6 @@ static void mips_transform_Reload(mips_transform_env_t* env) { exchange(node, proj); } -#if 0 -static ir_node *gen_node_for_StackParam(mips_transform_env_t *env) -{ - ir_node *node = env->irn; - ir_node *sp = get_irn_n(node, 0); - ir_node *load; - ir_node *nomem = new_rd_NoMem(env->irg); - ir_node *proj; - mips_attr_t *attr; - - load = new_rd_mips_load_r(env->dbg, env->irg, env->block, nomem, sp, mode_T); - attr = get_mips_attr(load); - attr->stack_entity = be_get_frame_entity(node); - attr->modes.load_store_mode = env->mode; - - proj = new_rd_Proj(env->dbg, env->irg, env->block, load, env->mode, pn_Load_res); - - return proj; -} -#endif - #if 0 static ir_node *gen_AddSP(ir_node *node) { @@ -1202,160 +1181,6 @@ static void register_transformers(void) op_EndExcept->ops.generic = (op_func) gen_Bad; } -#if 0 -/** - * Transforms the given firm node (and maybe some other related nodes) - * into one or more assembler nodes. - * - * @param node the firm node - * @param env the debug module - */ -void mips_transform_node(ir_node *node, void *env) { - mips_code_gen_t *cgenv = (mips_code_gen_t *)env; - ir_opcode code = get_irn_opcode(node); - ir_node *asm_node = node; - mips_transform_env_t tenv; - - if (is_Block(node)) - return; - - tenv.block = get_nodes_block(node); - tenv.dbg = get_irn_dbg_info(node); - tenv.irg = current_ir_graph; - tenv.irn = node; - tenv.mode = get_irn_mode(node); - tenv.cg = cgenv; - -#define UNOP(firm_opcode, mips_nodetype) case iro_##firm_opcode: asm_node = mips_gen_##mips_nodetype(&tenv, get_##firm_opcode##_op(node)); break -#define BINOP(firm_opcode, mips_nodetype) case iro_##firm_opcode: asm_node = mips_gen_##mips_nodetype(&tenv, get_##firm_opcode##_left(node), get_##firm_opcode##_right(node)); break -#define IGN(a) case iro_##a: break -#define BAD(a) case iro_##a: goto bad - - switch (code) { - BINOP(Add, addu); - BINOP(Sub, sub); - BINOP(And, and); - BINOP(Or, or); - BINOP(Eor, xor); - UNOP(Not, not); - BINOP(Shl, sl); - BINOP(Shr, sr); - BINOP(Shrs, sra); - - case iro_Abs: - asm_node = gen_node_for_Abs(&tenv); - break; - - case iro_Rot: - asm_node = gen_node_for_Rot(&tenv); - break; - - case iro_Div: - asm_node = gen_node_for_Div(&tenv); - break; - - case iro_Mod: - asm_node = gen_node_for_Mod(&tenv); - break; - - case iro_Load: - asm_node = gen_node_for_Load(&tenv); - break; - - case iro_Store: - asm_node = gen_node_for_Store(&tenv); - break; - - case iro_Proj: - asm_node = gen_node_for_Proj(&tenv); - break; - - case iro_Conv: - asm_node = gen_node_for_Conv(&tenv); - break; - - case iro_DivMod: - asm_node = gen_node_for_DivMod(&tenv); - break; - - case iro_Mul: - asm_node = gen_node_for_Mul(&tenv); - break; - - case iro_Jmp: - asm_node = gen_node_for_Jmp(&tenv); - break; - - case iro_IJmp: - asm_node = gen_node_for_IJmp(&tenv); - break; - - case iro_Unknown: - asm_node = gen_node_for_Unknown(&tenv); - break; - - case iro_Cond: - asm_node = gen_node_for_Cond(&tenv); - break; - - case iro_Phi: - asm_node = gen_node_for_Phi(&tenv); - break; - - /* TODO: implement these nodes */ - BAD(Mux); - - /* You probably don't need to handle the following nodes */ - - // call is handled in the emit phase - IGN(Call); - // Cmp is handled together with Cond - IGN(Cmp); - IGN(Alloc); - - IGN(Block); - IGN(Start); - IGN(End); - IGN(NoMem); - IGN(Break); - IGN(Sync); - - IGN(Const); - IGN(SymConst); - - BAD(Raise); - BAD(Sel); - BAD(InstOf); - BAD(Cast); - BAD(Free); - BAD(Tuple); - BAD(Id); - BAD(Bad); - BAD(Confirm); - BAD(Filter); - BAD(CallBegin); - BAD(EndReg); - BAD(EndExcept); - - default: - if(be_is_StackParam(node)) { - //asm_node = gen_node_for_StackParam(&tenv); - } else if(be_is_AddSP(node)) { - asm_node = gen_node_for_AddSP(&tenv); - } - break; - -bad: - fprintf(stderr, "Not implemented: %s\n", get_irn_opname(node)); - assert(0); - } - - if (asm_node != node) { - exchange(node, asm_node); - } -} -#endif - void mips_transform_graph(mips_code_gen_t *cg) { env_cg = cg; -- 2.20.1