From 8fe62af32a4fb8554ed545038513384389f2011b Mon Sep 17 00:00:00 2001 From: aesok Date: Thu, 24 Feb 2011 20:52:49 +0000 Subject: [PATCH] * config/stormy16/stormy16.h (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS): Remove. * config/stormy16/stormy16-protos.h (xstormy16_preferred_reload_class): Remove. * config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Make static. Change 'rclass' argument and return type to reg_class_t. (TARGET_PREFERRED_RELOAD_CLASS, TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170477 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 11 +++++++++++ gcc/config/stormy16/stormy16-protos.h | 1 - gcc/config/stormy16/stormy16.c | 12 ++++++++++-- gcc/config/stormy16/stormy16.h | 6 ------ 4 files changed, 21 insertions(+), 9 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ab2cb1b..000c08f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,14 @@ +2011-02-24 Anatoly Sokolov + + * config/stormy16/stormy16.h (PREFERRED_RELOAD_CLASS, + PREFERRED_OUTPUT_RELOAD_CLASS): Remove. + * config/stormy16/stormy16-protos.h + (xstormy16_preferred_reload_class): Remove. + * config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Make + static. Change 'rclass' argument and return type to reg_class_t. + (TARGET_PREFERRED_RELOAD_CLASS, + TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define. + 2011-02-24 Richard Guenther * lto-streamer-in.c (input_bb): Do not find referenced vars diff --git a/gcc/config/stormy16/stormy16-protos.h b/gcc/config/stormy16/stormy16-protos.h index 5b4957b..e9842ea 100644 --- a/gcc/config/stormy16/stormy16-protos.h +++ b/gcc/config/stormy16/stormy16-protos.h @@ -61,7 +61,6 @@ extern int short_memory_operand (rtx, enum machine_mode); extern int nonimmediate_nonstack_operand (rtx, enum machine_mode); extern enum reg_class xstormy16_secondary_reload_class (enum reg_class, enum machine_mode, rtx); -extern enum reg_class xstormy16_preferred_reload_class (rtx, enum reg_class); extern void xstormy16_split_move (enum machine_mode, rtx, rtx); extern void xstormy16_expand_move (enum machine_mode, rtx, rtx); extern void xstormy16_expand_arith (enum machine_mode, enum rtx_code, diff --git a/gcc/config/stormy16/stormy16.c b/gcc/config/stormy16/stormy16.c index 120c5ec..03253dd 100644 --- a/gcc/config/stormy16/stormy16.c +++ b/gcc/config/stormy16/stormy16.c @@ -469,8 +469,11 @@ xstormy16_secondary_reload_class (enum reg_class rclass, return NO_REGS; } -enum reg_class -xstormy16_preferred_reload_class (rtx x, enum reg_class rclass) +/* Worker function for TARGET_PREFERRED_RELOAD_CLASS + and TARGET_PREFERRED_OUTPUT_RELOAD_CLASS. */ + +static reg_class_t +xstormy16_preferred_reload_class (rtx x, reg_class_t rclass) { if (rclass == GENERAL_REGS && MEM_P (x)) return EIGHT_REGS; @@ -2604,6 +2607,11 @@ static const struct default_options xstorym16_option_optimization_table[] = #undef TARGET_MACHINE_DEPENDENT_REORG #define TARGET_MACHINE_DEPENDENT_REORG xstormy16_reorg +#undef TARGET_PREFERRED_RELOAD_CLASS +#define TARGET_PREFERRED_RELOAD_CLASS xstormy16_preferred_reload_class +#undef TARGET_PREFERRED_OUTPUT_RELOAD_CLASS +#define TARGET_PREFERRED_OUTPUT_RELOAD_CLASS xstormy16_preferred_reload_class + #undef TARGET_LEGITIMATE_ADDRESS_P #define TARGET_LEGITIMATE_ADDRESS_P xstormy16_legitimate_address_p #undef TARGET_MODE_DEPENDENT_ADDRESS_P diff --git a/gcc/config/stormy16/stormy16.h b/gcc/config/stormy16/stormy16.h index 4e85eb5..7b8f507 100644 --- a/gcc/config/stormy16/stormy16.h +++ b/gcc/config/stormy16/stormy16.h @@ -229,12 +229,6 @@ enum reg_class #define REGNO_OK_FOR_INDEX_P(NUM) REGNO_OK_FOR_BASE_P (NUM) -#define PREFERRED_RELOAD_CLASS(X, CLASS) \ - xstormy16_preferred_reload_class (X, CLASS) - -#define PREFERRED_OUTPUT_RELOAD_CLASS(X, CLASS) \ - xstormy16_preferred_reload_class (X, CLASS) - /* This chip has the interesting property that only the first eight registers can be moved to/from memory. */ #define SECONDARY_RELOAD_CLASS(CLASS, MODE, X) \ -- 2.7.4