Commit e602e1f7 by Sandra Loosemore Committed by Sandra Loosemore

re PR driver/41179 (Documentation for "-fno-toplevel-reorder" is confusing (and wrong))

2018-11-09  Sandra Loosemore  <sandra@codesourcery.com>

	PR driver/41179
	PR middle-end/65703

	gcc/
	* doc/invoke.texi (Optimize Options): Clarify default behavior
	for -fno-toplevel-reorder, -fno-defer-pop, and -fno-branch-count-reg.

From-SVN: r265993
parent ab386758
2018-11-09 Sandra Loosemore <sandra@codesourcery.com>
PR driver/41179
PR middle-end/65703
* doc/invoke.texi (Optimize Options): Clarify default behavior
for -fno-toplevel-reorder, -fno-defer-pop, and -fno-branch-count-reg.
2018-11-09 Bernd Edlinger <bernd.edlinger@hotmail.de> 2018-11-09 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR tree-optimization/87940 PR tree-optimization/87940
...@@ -8062,12 +8062,11 @@ optimizations to be performed is desired. ...@@ -8062,12 +8062,11 @@ optimizations to be performed is desired.
@table @gcctabopt @table @gcctabopt
@item -fno-defer-pop @item -fno-defer-pop
@opindex fno-defer-pop @opindex fno-defer-pop
Always pop the arguments to each function call as soon as that function For machines that must pop arguments after a function call, always pop
returns. For machines that must pop arguments after a function call, the arguments as soon as each function returns.
the compiler normally lets arguments accumulate on the stack for several At levels @option{-O1} and higher, @option{-fdefer-pop} is the default;
function calls and pops them all at once. this allows the compiler to let arguments accumulate on the stack for several
function calls and pop them all at once.
Disabled at levels @option{-O}, @option{-O2}, @option{-O3}, @option{-Os}.
@item -fforward-propagate @item -fforward-propagate
@opindex fforward-propagate @opindex fforward-propagate
...@@ -8284,18 +8283,16 @@ life-range analysis. This option is effective only with ...@@ -8284,18 +8283,16 @@ life-range analysis. This option is effective only with
@item -fno-branch-count-reg @item -fno-branch-count-reg
@opindex fno-branch-count-reg @opindex fno-branch-count-reg
Avoid running a pass scanning for opportunities to use ``decrement and Disable the optimization pass that scans for opportunities to use
branch'' instructions on a count register instead of generating sequences ``decrement and branch'' instructions on a count register instead of
of instructions that decrement a register, compare it against zero, and instruction sequences that decrement a register, compare it against zero, and
then branch based upon the result. This option is only meaningful on then branch based upon the result. This option is only meaningful on
architectures that support such instructions, which include x86, PowerPC, architectures that support such instructions, which include x86, PowerPC,
IA-64 and S/390. Note that the @option{-fno-branch-count-reg} option IA-64 and S/390. Note that the @option{-fno-branch-count-reg} option
doesn't remove the decrement and branch instructions from the generated doesn't remove the decrement and branch instructions from the generated
instruction stream introduced by other optimization passes. instruction stream introduced by other optimization passes.
Enabled by default at @option{-O1} and higher. The default is @option{-fbranch-count-reg} at @option{-O1} and higher.
The default is @option{-fbranch-count-reg}.
@item -fno-function-cse @item -fno-function-cse
@opindex fno-function-cse @opindex fno-function-cse
...@@ -9684,9 +9681,10 @@ are not removed. This option is intended to support existing code ...@@ -9684,9 +9681,10 @@ are not removed. This option is intended to support existing code
that relies on a particular ordering. For new code, it is better to that relies on a particular ordering. For new code, it is better to
use attributes when possible. use attributes when possible.
Enabled at level @option{-O0}. When disabled explicitly, it also implies @option{-ftoplevel-reorder} is the default at @option{-O1} and higher, and
@option{-fno-section-anchors}, which is otherwise enabled at @option{-O0} on some also at @option{-O0} if @option{-fsection-anchors} is explicitly requested.
targets. Additionally @option{-fno-toplevel-reorder} implies
@option{-fno-section-anchors}.
@item -fweb @item -fweb
@opindex fweb @opindex fweb
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment