[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