Commit 0d053a49 by Martin Liska Committed by Martin Liska

Introduce 4-stages profiledbootstrap to get a better profile.

2017-06-19  Martin Liska  <mliska@suse.cz>

	* doc/install.texi: Document that PGO runs in 4 stages.
2017-06-19  Martin Liska  <mliska@suse.cz>

	* Makefile.def: Define 4 stages PGO bootstrap.
	* Makefile.tpl: Define FLAGS.
	* Makefile.in: Regenerate.

From-SVN: r249366
parent 871cc215
2017-06-19 Martin Liska <mliska@suse.cz>
* Makefile.def: Define 4 stages PGO bootstrap.
* Makefile.tpl: Define FLAGS.
* Makefile.in: Regenerate.
2017-06-14 Ian Lance Taylor <iant@golang.org>
* Makefile.def: Add check-gotools to go check targets.
......
......@@ -623,7 +623,10 @@ bootstrap_stage = {
bootstrap_stage = {
id=profile ; prev=1 ; };
bootstrap_stage = {
id=feedback ; prev=profile ;
id=train; prev=profile ;
bootstrap_target=profiledbootstrap ; };
bootstrap_stage = {
id=feedback ; prev=train;
bootstrap_target=profiledbootstrap ; };
bootstrap_stage = {
id=autoprofile ; prev=1 ;
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -455,8 +455,11 @@ STAGE1_CONFIGURE_FLAGS = --disable-intermodule $(STAGE1_CHECKING) \
STAGEprofile_CFLAGS = $(STAGE2_CFLAGS) -fprofile-generate
STAGEprofile_TFLAGS = $(STAGE2_TFLAGS)
STAGEfeedback_CFLAGS = $(STAGE3_CFLAGS) -fprofile-use
STAGEfeedback_TFLAGS = $(STAGE3_TFLAGS)
STAGEtrain_CFLAGS = $(STAGE3_CFLAGS)
STAGEtrain_TFLAGS = $(STAGE3_TFLAGS)
STAGEfeedback_CFLAGS = $(STAGE4_CFLAGS) -fprofile-use
STAGEfeedback_TFLAGS = $(STAGE4_TFLAGS)
STAGEautoprofile_CFLAGS = $(STAGE2_CFLAGS) -g
STAGEautoprofile_TFLAGS = $(STAGE2_TFLAGS)
......
2017-06-19 Martin Liska <mliska@suse.cz>
* doc/install.texi: Document that PGO runs in 4 stages.
2017-06-19 Martin Liska <mliska@suse.cz>
PR ipa/80732
* attribs.c (make_dispatcher_decl): Do not append '.ifunc'
to dispatcher function name.
......
......@@ -2619,8 +2619,9 @@ bootstrap the 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.
probabilities. Training run is done by building @code{stagetrain}
compiler. Finally a @code{stagefeedback} compiler is built
using the information collected.
Unlike standard bootstrap, several additional restrictions apply. The
compiler used to build @code{stage1} needs to support a 64-bit integral type.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment