diff options
Diffstat (limited to 'gcc/targhooks.c')
-rw-r--r-- | gcc/targhooks.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/gcc/targhooks.c b/gcc/targhooks.c index fee4cc2..2f26e46 100644 --- a/gcc/targhooks.c +++ b/gcc/targhooks.c @@ -2274,17 +2274,18 @@ default_max_noce_ifcvt_seq_cost (edge e) { bool predictable_p = predictable_edge_p (e); - enum compiler_param param - = (predictable_p - ? PARAM_MAX_RTL_IF_CONVERSION_PREDICTABLE_COST - : PARAM_MAX_RTL_IF_CONVERSION_UNPREDICTABLE_COST); - - /* If we have a parameter set, use that, otherwise take a guess using - BRANCH_COST. */ - if (global_options_set.x_param_values[param]) - return PARAM_VALUE (param); + if (predictable_p) + { + if (global_options_set.x_param_max_rtl_if_conversion_predictable_cost) + return param_max_rtl_if_conversion_predictable_cost; + } else - return BRANCH_COST (true, predictable_p) * COSTS_N_INSNS (3); + { + if (global_options_set.x_param_max_rtl_if_conversion_unpredictable_cost) + return param_max_rtl_if_conversion_unpredictable_cost; + } + + return BRANCH_COST (true, predictable_p) * COSTS_N_INSNS (3); } /* Default implementation of TARGET_MIN_ARITHMETIC_PRECISION. */ |