> Hello, > there is a new version of the patch, I disabled the branch with > profile-generate. Could you please advise me how should I force to use > profile-reorder-functions just with enable LTO optimization? > > I also attach reordering results: > o gimp-reoder-latest.html (latest patch) > o gimp-reoder-without-fix.html (without the code in gcc/predict.c) > > Thank you, > Martin > diff --git a/gcc/ChangeLog b/gcc/ChangeLog > index 5cb07b7..754f882 100644 > --- a/gcc/ChangeLog > +++ b/gcc/ChangeLog > @@ -1,3 +1,13 @@ > +2013-11-17 Martin Liska <marxin.li...@gmail.com> > + Jan Hubicka <j...@suse.cz> > + > + * cgraphunit.c (node_cmp): New function. > + (expand_all_functions): Function ordering added. > + * common.opt: New profile based function reordering flag introduced. > + * lto-partition.c: Support for time profile added. > + * lto.c: Likewise. > + * predict.c (handle_missing_profiles): Time profile handled in > + missing profiles.
OK, thanks! > @@ -8645,7 +8645,7 @@ profile useful for later recompilation with profile > feedback based > optimization. You must use @option{-fprofile-generate} both when > compiling and when linking your program. > > -The following options are enabled: @code{-fprofile-arcs}, > @code{-fprofile-values}, @code{-fvpt}. > +The following options are enabled: @code{-fprofile-arcs}, > @code{-fprofile-values}, @code{-fprofile-reorder-functions}, @code{-fvpt}. > > If @var{path} is specified, GCC looks at the @var{path} to find > the profile feedback data files. See @option{-fprofile-dir}. Skip this change, it is only about the profiling options used. I think it is enough to mention it later. > @@ -8933,6 +8933,14 @@ from profiling values of expressions for usage in > optimizations. > > Enabled with @option{-fprofile-generate} and @option{-fprofile-use}. > > +@item -fprofile-reoder-functions > +@opindex fprofile-reorder-functions > +Function reordering based on profile instrumentation collects > +first time of execution of a function and orders these functions > +in ascending order. > + > +Enabled with @option{-fprofile-generate} and @option{-fprofile-use}. Only with -fprofile-use. What happened with the plans for linker support? Perhaps we can implement the numbered sections by Carry's proposal and hope that binutils will catch up in next release? Honza