[cfe-dev] Which -O is the default for clang?

Peng Yu via cfe-dev cfe-dev at lists.llvm.org
Tue Jan 29 14:31:15 PST 2019


Hi,

I don't see the manpage mentions which -O is the default for clang.
Does anybody know? Thanks.

   Code Generation Options
       -O0, -O1, -O2, -O3, -Ofast, -Os, -Oz, -Og, -O, -O4
              Specify which optimization level to use:
                 -O0 Means "no optimization": this level compiles the
fastest and generates the most debuggable code.

                 -O1 Somewhere between -O0 and -O2.

                 -O2 Moderate level of optimization which enables most
optimizations.

                 -O3  Like  -O2,  except  that  it  enables
optimizations  that take longer to perform or that may generate larger
code (in an attempt to make the program run
                 faster).

                 -Ofast Enables all the optimizations from -O3 along
with other aggressive optimizations that may violate strict compliance
with language standards.

                 -Os Like -O2 with extra optimizations to reduce code size.

                 -Oz Like -Os (and thus -O2), but reduces code size further.

                 -Og Like -O1. In future versions, this option might
disable different optimizations in order to improve debuggability.

                 -O Equivalent to -O2.

                 -O4 and higher
                     Currently equivalent to -O3

-- 
Regards,
Peng



More information about the cfe-dev mailing list