[PATCH] Increase lto-min-partition
Wilco Dijkstra
Wilco.Dijkstra@arm.com
Thu Sep 22 13:19:00 GMT 2016
Increase the lto-min-partition size to 50000 to reduce the number of partitions.
See eg. https://gcc.gnu.org/ml/gcc-patches/2016-04/msg00235.html for a concise
explanation why 10000 is too small for modern CPU/memory size. Additionally,
larger values increase optimization opportunities and reduce bad decisions in the
layout of global variables across partitions (anchors do not work well with LTO).
Looking at SPEC2000, 8 more benchmarks now use a single LTO partition which
is the most optimal. Build time with LTO increases only slightly, eg. SPEC2006
now takes 2% more time on an 8-core ARM server.
ChangeLog:
2016-09-22 Wilco Dijkstra <wdijkstr@arm.com>
gcc/
* params.def (MIN_PARTITION_SIZE): Increase to 50000.
--
diff --git a/gcc/params.def b/gcc/params.def
index 79b7dd4cca9ec1bb67a64725fb1a596b6e937419..da8fd1825e15f2aa800b1c8b680985776c1080ed 100644
--- a/gcc/params.def
+++ b/gcc/params.def
@@ -1045,7 +1045,7 @@ DEFPARAM (PARAM_LTO_PARTITIONS,
DEFPARAM (MIN_PARTITION_SIZE,
"lto-min-partition",
"Minimal size of a partition for LTO (in estimated instructions).",
- 10000, 0, 0)
+ 50000, 0, 0)
DEFPARAM (MAX_PARTITION_SIZE,
"lto-max-partition",
More information about the Gcc-patches
mailing list