Commit 355866de by Richard Guenther Committed by Richard Biener

re PR tree-optimization/15366 ([3.4 only][unit-at-a-time] -fno-inline-functions…

re PR tree-optimization/15366 ([3.4 only][unit-at-a-time] -fno-inline-functions is ignored for static functions)

2005-09-01  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/15366
	* common.opt: Add -finline-functions-called-once.
	Put -fearly-inlining in alphabetically ordered place.
	* doc/invoke.texi: Document new option.
	* ipa-inline.c (cgraph_decide_inlining): Honour
	flag_inline_functions_called_once.

From-SVN: r103722
parent a1340af7
2005-09-01 Richard Guenther <rguenther@suse.de>
PR tree-optimization/15366
* common.opt: Add -finline-functions-called-once.
Put -fearly-inlining in alphabetically ordered place.
* doc/invoke.texi: Document new option.
* ipa-inline.c (cgraph_decide_inlining): Honour
flag_inline_functions_called_once.
2005-09-01 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/23478
......
......@@ -359,6 +359,10 @@ fdump-unnumbered
Common Report Var(flag_dump_unnumbered) VarExists
Suppress output of instruction numbers and line number notes in debugging dumps
fearly-inlining
Common Report Var(flag_early_inlining) Init(1)
Perform early inlining
feliminate-dwarf2-dups
Common Report Var(flag_eliminate_dwarf2_dups)
Perform DWARF2 duplicate elimination
......@@ -480,9 +484,9 @@ finline-functions
Common Report Var(flag_inline_functions)
Integrate simple functions into their callers
fearly-inlining
Common Report Var(flag_early_inlining) Init(1)
Perform early inlining
finline-functions-called-once
Common Report Var(flag_inline_functions_called_once) Init(1)
Integrate functions called once into their callers
finline-limit-
Common RejectNegative Joined UInteger
......
......@@ -306,7 +306,8 @@ Objective-C and Objective-C++ Dialects}.
-fforce-addr -ffunction-sections @gol
-fgcse -fgcse-lm -fgcse-sm -fgcse-las -fgcse-after-reload @gol
-floop-optimize -fcrossjumping -fif-conversion -fif-conversion2 @gol
-finline-functions -finline-limit=@var{n} -fkeep-inline-functions @gol
-finline-functions -finline-functions-called-once @gol
-finline-limit=@var{n} -fkeep-inline-functions @gol
-fkeep-static-consts -fmerge-constants -fmerge-all-constants @gol
-fmodulo-sched -fno-branch-count-reg @gol
-fno-default-inline -fno-defer-pop -floop-optimize2 -fmove-loop-invariants @gol
......@@ -4480,6 +4481,15 @@ assembler code in its own right.
Enabled at level @option{-O3}.
@item -finline-functions-called-once
@opindex finline-functions-called-once
Consider all @code{static} functions called once for inlining into their
caller even if they are not marked @code{inline}. If a call to a given
function is integrated, then the function is not output as assembler code
in its own right.
Enabled if @option{-funit-at-a-time} is enabled.
@item -fearly-inlining
@opindex fearly-inlining
Inline functions marked by @code{always_inline} and functions whose body seems
......
......@@ -944,9 +944,11 @@ cgraph_decide_inlining (void)
}
if (!flag_really_no_inline)
{
cgraph_decide_inlining_of_small_functions ();
cgraph_decide_inlining_of_small_functions ();
if (!flag_really_no_inline
&& flag_inline_functions_called_once)
{
if (dump_file)
fprintf (dump_file, "\nDeciding on functions called once:\n");
......
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