diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-06-05 16:36:12 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-06-05 16:36:12 +0000 |
commit | ef3bb540da88410653be1d84bbb57f3fd112f146 (patch) | |
tree | 9375614623f28bf1e529f1905796682177a852ae /gcc/doc | |
parent | b3a15ba67f89e45c9e3c1cc5630249353a242ca5 (diff) | |
download | gcc-ef3bb540da88410653be1d84bbb57f3fd112f146.tar.gz |
* install.tex: Document profiledbootstrap.
* Makefile.tpl (profiledbootstrap): New target.
* Makefile.in (profiledbootstrap): New target.
* Makefile.in (clean, distclean): Kill new stages
(POSTSTAGE1_FLAGS_TO_PASS): Break from ...
(STAGE2_FLAGS_TO_PASS): ... this one.
(STAGEPROFILE_FLAGS_TO_PASS, STAGEFEEDBACK_FLAGS_TO_PASS): New.
(stage[2-4]_build): Add POSTSTAGE1_FLAGS_TO_PASS.
(stageprofile_build, stageprofile_copy, stagefeedback_build,
stagefeedback_copy): New.
(restageprofile, restagefeedback, stageprofile-start,
stageprofile, stagefeedback-start): Likewise.
* Make-lang.in: Add support for stageprofile and stagefeedback
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67498 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/install.texi | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi index bd53a09ca45..2dd44613149 100644 --- a/gcc/doc/install.texi +++ b/gcc/doc/install.texi @@ -1202,6 +1202,24 @@ following commands (assuming @command{make} is GNU make): Currently, when compiling the Ada front end, you cannot use the parallel build feature described in the previous section. +@section Building with profile feedback + +It is possible to use profile feedback to optimize the compiler itself. This +should result in a faster compiler binary. Experiments done on x86 using gcc +3.3 showed approximately 7 percent speedup on compiling C programs. To +bootstrap compiler with profile feedback, use @code{make profiledbootstrap}. + +When @samp{make profiledbootstrap} is run, it will first build a @code{stage1} +compiler. This compiler is used to build a @code{stageprofile} compiler +instrumented to collect execution counts of instruction and branch +probabilities. Then runtime libraries are compiled with profile collected. +Finally a @code{stagefeedback} compiler is built using the information collected. + +Unlike @samp{make bootstrap} several additional restrictions apply. The +compiler used to build @code{stage1} needs to support a 64-bit integral type. +It is recommended to only use GCC for this. Also parallel make is currently +not supported since collisions in profile collecting may occur. + @html <hr /> <p> |