diff options
author | Jan Hubicka <jh@suse.cz> | 2010-04-27 16:56:33 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2010-04-27 14:56:33 +0000 |
commit | e65bb9be499d2cea82fdfad49d7cf901167f9562 (patch) | |
tree | ba01f849174d822c82ea0fcae6a53e429d1ab377 /gcc/doc | |
parent | 38e3d8681f2e6773b44afc6beee57630e9b20b8e (diff) | |
download | gcc-e65bb9be499d2cea82fdfad49d7cf901167f9562.tar.gz |
invoke.texi (-fipa-profile): Document.
* doc/invoke.texi (-fipa-profile): Document.
* opts.c (decode_options): Enable ipa-profile at -O1.
* timevar.def (TV_IPA_PROFILE): Define.
* common.opt (fipa-profile): Add.
* cgraph.c (cgraph_clone_node): Set local flag and clear vtable method flag
for clones.
(cgraph_propagate_frequency): Handle only local ones.
* tree-pass.h (pass_ipa_profile): Declare.
* ipa-profile.c (gate_profile): Use flag_ipa_profile.
(pass_ipa_profile): Use TV_IPA_PROFILE.
* ipa.c (ipa_profile): New function.
(gate_ipa_profile): Likewise.
(pass_ipa_profile): New global variable.
* passes.c (pass_ipa_profile): New.
From-SVN: r158788
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/invoke.texi | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 9829c1f35b6..23f744b9bfb 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -344,7 +344,7 @@ Objective-C and Objective-C++ Dialects}. -fgcse-sm -fif-conversion -fif-conversion2 -findirect-inlining @gol -finline-functions -finline-functions-called-once -finline-limit=@var{n} @gol -finline-small-functions -fipa-cp -fipa-cp-clone -fipa-matrix-reorg -fipa-pta @gol --fipa-pure-const -fipa-reference -fipa-struct-reorg @gol +-fipa-profile -fipa-pure-const -fipa-reference -fipa-struct-reorg @gol -fipa-type-escape -fira-algorithm=@var{algorithm} @gol -fira-region=@var{region} -fira-coalesce @gol -fira-loop-pressure -fno-ira-share-save-slots @gol @@ -5762,6 +5762,7 @@ compilation time. -fif-conversion2 @gol -fif-conversion @gol -fipa-pure-const @gol +-fipa-profile @gol -fipa-reference @gol -fmerge-constants -fsplit-wide-types @gol @@ -6602,6 +6603,15 @@ and reference analysis. This option can cause excessive memory and compile-time usage on large compilation units. It is not enabled by default at any optimization level. +@item -fipa-profile +@opindex fipa-profile +Perform interprocedural profile propagation. The functions called only from +cold functions are marked as cold. Also functions executed once (such as +@code{cold}, @code{noreturn}, static constructors or destructors) are identified. Cold +functions and loop less parts of functions executed once are then optimized for +size. +Enabled by default at @option{-O} and higher. + @item -fipa-cp @opindex fipa-cp Perform interprocedural constant propagation. |