From e65bb9be499d2cea82fdfad49d7cf901167f9562 Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Tue, 27 Apr 2010 16:56:33 +0200 Subject: 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 --- gcc/doc/invoke.texi | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'gcc/doc') diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 9829c1f..23f744b 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. -- cgit v1.1