invoke.texi ([-fprofile-generate], [...]): Fix markup, light copy-editing.

2015-01-03  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* doc/invoke.texi ([-fprofile-generate], [-fprofile-use]):
	Fix markup, light copy-editing.
	([-fauto-profile]): Rewrite to fix formatting and content
	problems.

From-SVN: r219172
This commit is contained in:
Sandra Loosemore 2015-01-03 23:07:45 -05:00 committed by Sandra Loosemore
parent 3fd99bca7a
commit 70281a8e00
2 changed files with 40 additions and 31 deletions

View File

@ -1,3 +1,10 @@
2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
* doc/invoke.texi ([-fprofile-generate], [-fprofile-use]):
Fix markup, light copy-editing.
([-fauto-profile]): Rewrite to fix formatting and content
problems.
2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
* doc/invoke.texi ([-fisolate-erroneous-paths-dereference]):

View File

@ -9325,7 +9325,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: @option{-fprofile-arcs}, @option{-fprofile-values}, @option{-fvpt}.
If @var{path} is specified, GCC looks at the @var{path} to find
the profile feedback data files. See @option{-fprofile-dir}.
@ -9333,12 +9333,12 @@ the profile feedback data files. See @option{-fprofile-dir}.
@item -fprofile-use
@itemx -fprofile-use=@var{path}
@opindex fprofile-use
Enable profile feedback directed optimizations, and optimizations
generally profitable only with profile feedback available.
The following options are enabled: @code{-fbranch-probabilities}, @code{-fvpt},
@code{-funroll-loops}, @code{-fpeel-loops}, @code{-ftracer}, @code{-ftree-vectorize},
@code{ftree-loop-distribute-patterns}
Enable profile feedback-directed optimizations,
and the following optimizations
which are generally profitable only with profile feedback available:
@option{-fbranch-probabilities}, @option{-fvpt},
@option{-funroll-loops}, @option{-fpeel-loops}, @option{-ftracer},
@option{-ftree-vectorize}, and @option{ftree-loop-distribute-patterns}.
By default, GCC emits an error message if the feedback profiles do not
match the source code. This error can be turned into a warning by using
@ -9351,37 +9351,39 @@ the profile feedback data files. See @option{-fprofile-dir}.
@item -fauto-profile
@itemx -fauto-profile=@var{path}
@opindex fauto-profile
Enable sampling based feedback directed optimizations, and optimizations
generally profitable only with profile feedback available.
Enable sampling-based feedback-directed optimizations,
and the following optimizations
which are generally profitable only with profile feedback available:
@option{-fbranch-probabilities}, @option{-fvpt},
@option{-funroll-loops}, @option{-fpeel-loops}, @option{-ftracer},
@option{-ftree-vectorize},
@option{-finline-functions}, @option{-fipa-cp}, @option{-fipa-cp-clone},
@option{-fpredictive-commoning}, @option{-funswitch-loops},
@option{-fgcse-after-reload}, and @option{-ftree-loop-distribute-patterns}.
The following options are enabled: @code{-fbranch-probabilities}, @code{-fvpt},
@code{-funroll-loops}, @code{-fpeel-loops}, @code{-ftracer}, @code{-ftree-vectorize},
@code{-finline-functions}, @code{-fipa-cp}, @code{-fipa-cp-clone},
@code{-fpredictive-commoning}, @code{-funswitch-loops},
@code{-fgcse-after-reload}, @code{-ftree-loop-distribute-patterns},
@var{path} is the name of a file containing AutoFDO profile information.
If omitted, it defaults to @file{fbdata.afdo} in the current directory.
If @var{path} is specified, GCC looks at the @var{path} to find
the profile feedback data files.
In order to collect AutoFDO profile, you need to have:
1. A linux system with linux perf support
2. (optional) An Intel processor with last branch record (LBR) support. This is
to guarantee accurate instruction level profile, which is important for
AutoFDO performance.
To collect the profile, first use linux perf to collect raw profile
(see @uref{https://perf.wiki.kernel.org/}).
Producing an AutoFDO profile data file requires running your program
with the @command{perf} utility on a supported GNU/Linux target system.
For more information, see @uref{https://perf.wiki.kernel.org/}.
E.g.
@code{perf record -e br_inst_retired:near_taken -b -o perf.data -- your_program}
@smallexample
perf record -e br_inst_retired:near_taken -b -o perf.data \
-- your_program
@end smallexample
Then use create_gcov tool, which takes raw profile and unstripped binary to
generate AutoFDO profile that can be used by GCC.
(see @uref{https://github.com/google/autofdo}).
Then use the @command{create_gcov} tool to convert the raw profile data
to a format that can be used by GCC.@ You must also supply the
unstripped binary for your program to this tool.
See @uref{https://github.com/google/autofdo}.
E.g.
@code{create_gcov --binary=your_program.unstripped --profile=perf.data --gcov=profile.afdo}
@smallexample
create_gcov --binary=your_program.unstripped --profile=perf.data \
--gcov=profile.afdo
@end smallexample
@end table
The following options control compiler behavior regarding floating-point