summaryrefslogtreecommitdiff
path: root/gcc/doc
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2003-06-05 16:36:12 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2003-06-05 16:36:12 +0000
commitef3bb540da88410653be1d84bbb57f3fd112f146 (patch)
tree9375614623f28bf1e529f1905796682177a852ae /gcc/doc
parentb3a15ba67f89e45c9e3c1cc5630249353a242ca5 (diff)
downloadgcc-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.texi18
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>