2015-11-05 Evandro Menezes <e.mene...@samsung.com>
gcc/
* config/aarch64/aarch64.c (aarch64_override_options_internal):
Increase loop peeling limit.
This patch increases the limit for the number of peeled insns. With
this change, I noticed no major regression in either Geekbench v3 or
SPEC CPU2000 while some benchmarks, typically FP ones, improved
significantly.
I tested this tuning on Exynos M1 and on A57. ThunderX seems to benefit
from this tuning too. However, I'd appreciate comments from other
stakeholders.
Thank you,
--
Evandro Menezes
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index 5c8604f..66122e7 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -7672,6 +7672,12 @@ aarch64_override_options_internal (struct gcc_options *opts)
opts->x_param_values,
global_options_set.x_param_values);
+ /* Increase the maximum peeling limit. */
+ maybe_set_param_value (PARAM_MAX_COMPLETELY_PEELED_INSNS,
+ 400,
+ opts->x_param_values,
+ global_options_set.x_param_values);
+
aarch64_override_options_after_change_1 (opts);
}