aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/s390
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2010-10-14 11:22:43 +0100
committerJoseph Myers <jsm28@gcc.gnu.org>2010-10-14 11:22:43 +0100
commit48476d13b2878a02ffcb38df139594a2477989f1 (patch)
tree9b340b8d6c331d28e231ef93373d6e4219525626 /gcc/config/s390
parent4af476d7f2d3571c981b629995d3b3f1f8ffd3ab (diff)
downloadgcc-48476d13b2878a02ffcb38df139594a2477989f1.zip
gcc-48476d13b2878a02ffcb38df139594a2477989f1.tar.gz
gcc-48476d13b2878a02ffcb38df139594a2477989f1.tar.bz2
params.c (params_finished): New.
* params.c (params_finished): New. (add_params): Assert !params_finished. (finish_params): New. (set_param_value_internal): Take params and params_set parameters. Assert params_finished. (set_param_value, maybe_set_param_value): Take params and params_set parameters. Update calls to set_param_value_internal. (set_default_param_value): Assert !params_finished. Don't use set_param_value_internal. (default_param_value, init_param_values): New. * params.h (struct param_info): Change value to default_value. Remove set. (set_param_value, maybe_set_param_value): Add params and params_set parameters. (PARAM_VALUE): Get parameters from global_options. (PARAM_SET_P): Remove. (finish_params, default_param_value, init_param_values): New. * common.opt (param_values): New Variable. * config/arm/arm.c (arm_option_override): Pass extra arguments to maybe_set_param_value. * config/i386/i386.c (ix86_option_override_internal): Pass extra arguments to maybe_set_param_value. * config/picochip/picochip.c (picochip_option_override): Pass extra arguments to maybe_set_param_value. * config/rs6000/rs6000.c (rs6000_option_override_internal): Pass extra arguments to maybe_set_param_value. * config/s390/s390.c (s390_option_override): Use maybe_set_param_value instead of set_param_value. Pass extra arguments to maybe_set_param_value. * config/sparc/sparc.c (sparc_option_override): Pass extra arguments to maybe_set_param_value. * config/spu/spu.c (spu_option_override): Pass extra arguments to maybe_set_param_value. * opts.c (handle_param): Take opts and opts_set parameters. Update call to set_param_value. (initial_min_crossjump_insns, initial_max_fields_for_field_sensitive, initial_loop_invariant_max_bbs_in_loop): Remove. (init_options_once): Don't set them. (init_options_struct): Initialize parameters structures. (default_options_optimization): Use default_param_value when restoring defaults. Update calls to maybe_set_param_value. (finish_options): Update calls to maybe_set_param_value. (common_handle_option): Update calls to handle_param and set_param_value. * toplev.c (DEFPARAM): Update definition for changes to param_info. (general_init): Call finish_params. From-SVN: r165460
Diffstat (limited to 'gcc/config/s390')
-rw-r--r--gcc/config/s390/s390.c44
1 files changed, 32 insertions, 12 deletions
diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c
index 04fcee2..8aabe11 100644
--- a/gcc/config/s390/s390.c
+++ b/gcc/config/s390/s390.c
@@ -1687,22 +1687,42 @@ s390_option_override (void)
if (s390_tune == PROCESSOR_2097_Z10
|| s390_tune == PROCESSOR_2817_Z196)
{
- maybe_set_param_value (PARAM_MAX_UNROLLED_INSNS, 100);
- maybe_set_param_value (PARAM_MAX_UNROLL_TIMES, 32);
- maybe_set_param_value (PARAM_MAX_COMPLETELY_PEELED_INSNS, 2000);
- maybe_set_param_value (PARAM_MAX_COMPLETELY_PEEL_TIMES, 64);
- }
-
- set_param_value ("max-pending-list-length", 256);
+ maybe_set_param_value (PARAM_MAX_UNROLLED_INSNS, 100,
+ global_options.x_param_values,
+ global_options_set.x_param_values);
+ maybe_set_param_value (PARAM_MAX_UNROLL_TIMES, 32,
+ global_options.x_param_values,
+ global_options_set.x_param_values);
+ maybe_set_param_value (PARAM_MAX_COMPLETELY_PEELED_INSNS, 2000,
+ global_options.x_param_values,
+ global_options_set.x_param_values);
+ maybe_set_param_value (PARAM_MAX_COMPLETELY_PEEL_TIMES, 64,
+ global_options.x_param_values,
+ global_options_set.x_param_values);
+ }
+
+ maybe_set_param_value (PARAM_MAX_PENDING_LIST_LENGTH, 256,
+ global_options.x_param_values,
+ global_options_set.x_param_values);
/* values for loop prefetching */
- set_param_value ("l1-cache-line-size", 256);
- maybe_set_param_value (PARAM_L1_CACHE_SIZE, 128);
+ maybe_set_param_value (PARAM_L1_CACHE_LINE_SIZE, 256,
+ global_options.x_param_values,
+ global_options_set.x_param_values);
+ maybe_set_param_value (PARAM_L1_CACHE_SIZE, 128,
+ global_options.x_param_values,
+ global_options_set.x_param_values);
/* s390 has more than 2 levels and the size is much larger. Since
we are always running virtualized assume that we only get a small
part of the caches above l1. */
- maybe_set_param_value (PARAM_L2_CACHE_SIZE, 1500);
- maybe_set_param_value (PARAM_PREFETCH_MIN_INSN_TO_MEM_RATIO, 2);
- maybe_set_param_value (PARAM_SIMULTANEOUS_PREFETCHES, 6);
+ maybe_set_param_value (PARAM_L2_CACHE_SIZE, 1500,
+ global_options.x_param_values,
+ global_options_set.x_param_values);
+ maybe_set_param_value (PARAM_PREFETCH_MIN_INSN_TO_MEM_RATIO, 2,
+ global_options.x_param_values,
+ global_options_set.x_param_values);
+ maybe_set_param_value (PARAM_SIMULTANEOUS_PREFETCHES, 6,
+ global_options.x_param_values,
+ global_options_set.x_param_values);
/* This cannot reside in s390_option_optimization since HAVE_prefetch
requires the arch flags to be evaluated already. Since prefetching