diff options
Diffstat (limited to 'gcc/tree-sra.c')
-rw-r--r-- | gcc/tree-sra.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c index 8bcfef4..d739aed 100644 --- a/gcc/tree-sra.c +++ b/gcc/tree-sra.c @@ -2787,16 +2787,21 @@ analyze_all_variable_accesses (void) unsigned i; bool optimize_speed_p = !optimize_function_for_size_p (cfun); - enum compiler_param param = optimize_speed_p - ? PARAM_SRA_MAX_SCALARIZATION_SIZE_SPEED - : PARAM_SRA_MAX_SCALARIZATION_SIZE_SIZE; - /* If the user didn't set PARAM_SRA_MAX_SCALARIZATION_SIZE_<...>, fall back to a target default. */ unsigned HOST_WIDE_INT max_scalarization_size - = global_options_set.x_param_values[param] - ? PARAM_VALUE (param) - : get_move_ratio (optimize_speed_p) * UNITS_PER_WORD; + = get_move_ratio (optimize_speed_p) * UNITS_PER_WORD; + + if (optimize_speed_p) + { + if (global_options_set.x_param_sra_max_scalarization_size_speed) + max_scalarization_size = param_sra_max_scalarization_size_speed; + } + else + { + if (global_options_set.x_param_sra_max_scalarization_size_size) + max_scalarization_size = param_sra_max_scalarization_size_size; + } max_scalarization_size *= BITS_PER_UNIT; |