aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2024-07-23 15:06:10 +0100
committerThomas Koenig <tkoenig@gcc.gnu.org>2024-07-28 19:05:57 +0200
commit1a8585acd6bb9a09edcde3ca746f58fd421f39c4 (patch)
treea59f75f2aff550a52217c7dbaf9efdfbe0c8b13c
parent3257d6e954c9650940162f08613fee25602ec5d4 (diff)
downloadgcc-1a8585acd6bb9a09edcde3ca746f58fd421f39c4.zip
gcc-1a8585acd6bb9a09edcde3ca746f58fd421f39c4.tar.gz
gcc-1a8585acd6bb9a09edcde3ca746f58fd421f39c4.tar.bz2
doc: Document -O1 as the preferred level for large machine-generated code
At -O1, the intention is that we compile things in a "reasonable" amount of time (ditto memory use). In particular, we try to especially avoid optimizations which scale poorly on pathological cases, as is the case for large machine-generated code. Recommend -O1 for large machine-generated code, as has been informally done on bugs for a while now. This applies (broadly speaking) for both large machine-generated functions but also to a lesser extent repetitive small-but-still-not-tiny functions from a generator program. gcc/ChangeLog: PR middle-end/114855 * doc/invoke.texi (Optimize options): Mention machine-generated code for -O1.
-rw-r--r--gcc/doc/invoke.texi5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index e0a6412..9fb0925 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -12560,6 +12560,11 @@ With @option{-O}, the compiler tries to reduce code size and execution
time, without performing any optimizations that take a great deal of
compilation time.
+@option{-O} is the recommended optimization level for large machine-generated
+code as a sensible balance between time taken to compile and memory use:
+higher optimization levels perform optimizations with greater algorithmic
+complexity than at @option{-O}.
+
@c Note that in addition to the default_options_table list in opts.cc,
@c several optimization flags default to true but control optimization
@c passes that are explicitly disabled at -O0.