Mercurial > hg > CbC > CbC_gcc
diff gcc/common/config/rs6000/rs6000-common.c @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | 84e7813d76e9 |
children |
line wrap: on
line diff
--- a/gcc/common/config/rs6000/rs6000-common.c Thu Oct 25 07:37:49 2018 +0900 +++ b/gcc/common/config/rs6000/rs6000-common.c Thu Feb 13 11:34:05 2020 +0900 @@ -1,5 +1,5 @@ /* Common hooks for IBM RS/6000. - Copyright (C) 1991-2018 Free Software Foundation, Inc. + Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of GCC. @@ -26,13 +26,25 @@ #include "common/common-target-def.h" #include "opts.h" #include "flags.h" -#include "params.h" /* Implement TARGET_OPTION_OPTIMIZATION_TABLE. */ static const struct default_options rs6000_option_optimization_table[] = { + /* Split multi-word types early. */ + { OPT_LEVELS_ALL, OPT_fsplit_wide_types_early, NULL, 1 }, /* Enable -fsched-pressure for first pass instruction scheduling. */ { OPT_LEVELS_1_PLUS, OPT_fsched_pressure, NULL, 1 }, + /* Enable -munroll-only-small-loops with -funroll-loops to unroll small + loops at -O2 and above by default. */ + { OPT_LEVELS_2_PLUS_SPEED_ONLY, OPT_funroll_loops, NULL, 1 }, + { OPT_LEVELS_2_PLUS_SPEED_ONLY, OPT_munroll_only_small_loops, NULL, 1 }, + /* -fweb and -frename-registers are useless in general for rs6000, + turn them off. */ + { OPT_LEVELS_ALL, OPT_fweb, NULL, 0 }, + { OPT_LEVELS_ALL, OPT_frename_registers, NULL, 0 }, + + /* Double growth factor to counter reduced min jump length. */ + { OPT_LEVELS_ALL, OPT__param_max_grow_copy_bb_insns_, NULL, 16 }, { OPT_LEVELS_NONE, 0, NULL, 0 } }; @@ -60,15 +72,6 @@ #endif } -/* Implement TARGET_OPTION_DEFAULT_PARAMS. */ - -static void -rs6000_option_default_params (void) -{ - /* Double growth factor to counter reduced min jump length. */ - set_default_param_value (PARAM_MAX_GROW_COPY_BB_INSNS, 16); -} - /* If not otherwise specified by a target, make 'long double' equivalent to 'double'. */ @@ -178,7 +181,7 @@ else if (! strcmp (q, "builtin")) mask = MASK_DEBUG_BUILTIN; else - error_at (loc, "unknown -mdebug-%s switch", q); + error_at (loc, "unknown %<-mdebug-%s%> switch", q); if (invert) opts->x_rs6000_debug &= ~mask; @@ -217,7 +220,7 @@ case OPT_mlong_double_: if (value != 64 && value != 128) { - error_at (loc, "unknown switch -mlong-double-%s", arg); + error_at (loc, "unknown switch %<-mlong-double-%s%>", arg); opts->x_rs6000_long_double_type_size = RS6000_DEFAULT_LONG_DOUBLE_SIZE; return false; @@ -262,9 +265,6 @@ #undef TARGET_OPTION_INIT_STRUCT #define TARGET_OPTION_INIT_STRUCT rs6000_option_init_struct -#undef TARGET_OPTION_DEFAULT_PARAMS -#define TARGET_OPTION_DEFAULT_PARAMS rs6000_option_default_params - #undef TARGET_OPTION_OPTIMIZATION_TABLE #define TARGET_OPTION_OPTIMIZATION_TABLE rs6000_option_optimization_table