X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Farm%2Farm_map_regs.c;h=2d341ac40ddb3411df7991b120b120f33239fb90;hb=505d3662efed6efbca2c43eea2fe23b87816b285;hp=e30924b52983e0eedbbf60a86be0167c22bd989b;hpb=4d5c3365a58cba59993045a9e08e686d8ae079a7;p=libfirm diff --git a/ir/be/arm/arm_map_regs.c b/ir/be/arm/arm_map_regs.c index e30924b52..2d341ac40 100644 --- a/ir/be/arm/arm_map_regs.c +++ b/ir/be/arm/arm_map_regs.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1995-2007 University of Karlsruhe. All right reserved. + * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved. * * This file is part of libFirm. * @@ -18,8 +18,10 @@ */ /** - * Register mapping for firm nodes. Stolen from bearch_firm :) - * $Id$ + * @file + * @brief Register mapping for firm nodes. Stolen from bearch_firm :) + * @author Oliver Richter, Tobias Gneist + * @version $Id$ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -52,9 +54,10 @@ struct arm_irn_reg_assoc { const arch_register_t *reg; }; -int arm_cmp_irn_reg_assoc(const void *a, const void *b, size_t len) { +int arm_cmp_irn_reg_assoc(const void *a, const void *b, size_t size) { const struct arm_irn_reg_assoc *x = a; const struct arm_irn_reg_assoc *y = b; + (void) size; return x->irn != y->irn; } @@ -76,51 +79,6 @@ void arm_set_firm_reg(ir_node *irn, const arch_register_t *reg, set *reg_set) { } const arch_register_t *arm_get_firm_reg(const ir_node *irn, set *reg_set) { - struct arm_irn_reg_assoc *assoc = get_irn_reg_assoc(irn, reg_set); + const struct arm_irn_reg_assoc *assoc = get_irn_reg_assoc(irn, reg_set); return assoc->reg; } - - - -/** - * Translates the proj number into a "real" argument position for register - * requirements depended on the predecessor. - */ -long arm_translate_proj_pos(const ir_node *proj) { - ir_node *pred = get_Proj_pred(proj); - long nr = get_Proj_proj(proj); - - if (is_irn_machine_op(pred)) { - switch (get_arm_irn_opcode(pred)) { - - case iro_arm_Loadb: - case iro_arm_Loadbs: - case iro_arm_Loadh: - case iro_arm_Loadhs: - case iro_arm_Load: - case iro_arm_fpaLdf: - if (nr == pn_Load_res) - return 0; - assert(0 && "unsupported Proj(Load) number"); - break; - case iro_arm_Storeb: - case iro_arm_Storebs: - case iro_arm_Storeh: - case iro_arm_Storehs: - case iro_arm_Store: - case iro_arm_fpaStf: - return 0; - case iro_arm_fpaDiv: - case iro_arm_fpaRdv: - if (nr == pn_Quot_res) - return 0; - assert(0 && "there should be no more Projs for a fDiv"); - break; - default: - break; - } - } - -// assert(0 && "unsupported Proj(X)"); - return nr; -}