From a87cf97e0d6843f6ba6c4e120acfdb5693700eda Mon Sep 17 00:00:00 2001 From: Joern Rennecke Date: Wed, 30 Jun 2010 18:47:43 +0000 Subject: re PR middle-end/44566 (configuration with multiple targets / backends is not supported.) PR other/44566 * coretypes.h [!USED_FOR_TARGET] (reg_class_t): Define. * target.def (struct gcc_target): Replace enum reg_class with reg_class_t in hook argument / return types. * doc/tm.texi.in (TARGET_SECONDARY_RELOAD): Likewise. (TARGET_IRA_COVER_CLASSES, TARGET_MEMORY_MOVE_COST): Likewise. (TARGET_BRANCH_TARGET_REGISTER_CLASS): Likewise. * targhooks.h (default_branch_target_register_class): Likewise. (default_ira_cover_classes, default_secondary_reload): Likewise. (default_memory_move_cost, default_register_move_cost): Likewise. * targhooks.c (default_branch_target_register_class): Likewise. (default_ira_cover_classes, default_secondary_reload): Likewise. (default_memory_move_cost, default_register_move_cost): Likewise. * reload.c (push_secondary_reload, secondary_reload_class): Likewise. * bt-load.c (branch_target_load_optimize): Likewise. * ira.c (setup_cover_and_important_classes): Likewise. * ira-costs.c (copy_cost): Likewise. * reload1.c (emit_input_reload_insns): Likewise. * config/alpha/alpha.c (alpha_secondary_reload): Likewise. * config/frv/frv.c (frv_secondary_reload): Likewise. * config/s390/s390.c (s390_secondary_reload): Likewise. * config/i386/i386.c (i386_ira_cover_classes): Likewise. (ix86_secondary_reload, ix86_memory_move_cost): Likewise. (ix86_register_move_cost): Likewise. * config/sh/sh-protos.h (sh_secondary_reload): Likewise. * config/sh/sh.c (sh_target_reg_class, sh_secondary_reload): Likewise. * config/xtensa/xtensa.c (xtensa_secondary_reload): Likewise. * config/xtensa/xtensa-protos.h (xtensa_secondary_reload): Likewise. * config/rs6000/rs6000.c (rs6000_secondary_reload): Likewise. (rs6000_ira_cover_classes): Likewise. * config/picochip/picochip.c (picochip_secondary_reload): Likewise. * config/picochip/picochip-protos.h (picochip_secondary_reload): Likewise. * config/pa/pa.c (pa_secondary_reload): Likewise. * config/mips/mips.c (mips_ira_cover_classes): Likewise. * config/bfin/bfin.c (bfin_secondary_reload): Likewise. * config/ia64/ia64.c (ia64_register_move_cost): Likewise. * doc/tm.texi: Regenerate. From-SVN: r161633 --- gcc/targhooks.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) (limited to 'gcc/targhooks.c') diff --git a/gcc/targhooks.c b/gcc/targhooks.c index 128a5cb..9271db8 100644 --- a/gcc/targhooks.c +++ b/gcc/targhooks.c @@ -807,28 +807,29 @@ default_return_pops_args (tree fundecl ATTRIBUTE_UNUSED, return 0; } -enum reg_class +reg_class_t default_branch_target_register_class (void) { return NO_REGS; } #ifdef IRA_COVER_CLASSES -const enum reg_class * +const reg_class_t * default_ira_cover_classes (void) { - static enum reg_class classes[] = IRA_COVER_CLASSES; + static reg_class_t classes[] = IRA_COVER_CLASSES; return classes; } #endif -enum reg_class +reg_class_t default_secondary_reload (bool in_p ATTRIBUTE_UNUSED, rtx x ATTRIBUTE_UNUSED, - enum reg_class reload_class ATTRIBUTE_UNUSED, + reg_class_t reload_class_i ATTRIBUTE_UNUSED, enum machine_mode reload_mode ATTRIBUTE_UNUSED, secondary_reload_info *sri) { enum reg_class rclass = NO_REGS; + enum reg_class reload_class = (enum reg_class) reload_class_i; if (sri->prev_sri && sri->prev_sri->t_icode != CODE_FOR_nothing) { @@ -1176,13 +1177,13 @@ default_have_conditional_execution (void) int default_memory_move_cost (enum machine_mode mode ATTRIBUTE_UNUSED, - enum reg_class rclass ATTRIBUTE_UNUSED, + reg_class_t rclass ATTRIBUTE_UNUSED, bool in ATTRIBUTE_UNUSED) { #ifndef MEMORY_MOVE_COST - return (4 + memory_move_secondary_cost (mode, rclass, in)); + return (4 + memory_move_secondary_cost (mode, (enum reg_class) rclass, in)); #else - return MEMORY_MOVE_COST (mode, rclass, in); + return MEMORY_MOVE_COST (mode, (enum reg_class) rclass, in); #endif } @@ -1191,13 +1192,13 @@ default_memory_move_cost (enum machine_mode mode ATTRIBUTE_UNUSED, int default_register_move_cost (enum machine_mode mode ATTRIBUTE_UNUSED, - enum reg_class from ATTRIBUTE_UNUSED, - enum reg_class to ATTRIBUTE_UNUSED) + reg_class_t from ATTRIBUTE_UNUSED, + reg_class_t to ATTRIBUTE_UNUSED) { #ifndef REGISTER_MOVE_COST return 2; #else - return REGISTER_MOVE_COST (mode, from, to); + return REGISTER_MOVE_COST (mode, (enum reg_class) from, (enum reg_class) to); #endif } -- cgit v1.1