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> 2017-06-14 Ian Lance Taylor <iant@golang.org>
* Makefile.def: Add check-gotools to go check targets. * Makefile.def: Add check-gotools to go check targets.
......
...@@ -623,7 +623,10 @@ bootstrap_stage = { ...@@ -623,7 +623,10 @@ bootstrap_stage = {
bootstrap_stage = { bootstrap_stage = {
id=profile ; prev=1 ; }; id=profile ; prev=1 ; };
bootstrap_stage = { bootstrap_stage = {
id=feedback ; prev=profile ; id=train; prev=profile ;
bootstrap_target=profiledbootstrap ; };
bootstrap_stage = {
id=feedback ; prev=train;
bootstrap_target=profiledbootstrap ; }; bootstrap_target=profiledbootstrap ; };
bootstrap_stage = { bootstrap_stage = {
id=autoprofile ; prev=1 ; 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) \ ...@@ -455,8 +455,11 @@ STAGE1_CONFIGURE_FLAGS = --disable-intermodule $(STAGE1_CHECKING) \
STAGEprofile_CFLAGS = $(STAGE2_CFLAGS) -fprofile-generate STAGEprofile_CFLAGS = $(STAGE2_CFLAGS) -fprofile-generate
STAGEprofile_TFLAGS = $(STAGE2_TFLAGS) STAGEprofile_TFLAGS = $(STAGE2_TFLAGS)
STAGEfeedback_CFLAGS = $(STAGE3_CFLAGS) -fprofile-use STAGEtrain_CFLAGS = $(STAGE3_CFLAGS)
STAGEfeedback_TFLAGS = $(STAGE3_TFLAGS) STAGEtrain_TFLAGS = $(STAGE3_TFLAGS)
STAGEfeedback_CFLAGS = $(STAGE4_CFLAGS) -fprofile-use
STAGEfeedback_TFLAGS = $(STAGE4_TFLAGS)
STAGEautoprofile_CFLAGS = $(STAGE2_CFLAGS) -g STAGEautoprofile_CFLAGS = $(STAGE2_CFLAGS) -g
STAGEautoprofile_TFLAGS = $(STAGE2_TFLAGS) STAGEautoprofile_TFLAGS = $(STAGE2_TFLAGS)
......
2017-06-19 Martin Liska <mliska@suse.cz> 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 PR ipa/80732
* attribs.c (make_dispatcher_decl): Do not append '.ifunc' * attribs.c (make_dispatcher_decl): Do not append '.ifunc'
to dispatcher function name. to dispatcher function name.
......
...@@ -2619,8 +2619,9 @@ bootstrap the compiler with profile feedback, use @code{make profiledbootstrap}. ...@@ -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} When @samp{make profiledbootstrap} is run, it will first build a @code{stage1}
compiler. This compiler is used to build a @code{stageprofile} compiler compiler. This compiler is used to build a @code{stageprofile} compiler
instrumented to collect execution counts of instruction and branch instrumented to collect execution counts of instruction and branch
probabilities. Then runtime libraries are compiled with profile collected. probabilities. Training run is done by building @code{stagetrain}
Finally a @code{stagefeedback} compiler is built using the information collected. compiler. Finally a @code{stagefeedback} compiler is built
using the information collected.
Unlike standard bootstrap, several additional restrictions apply. The Unlike standard bootstrap, several additional restrictions apply. The
compiler used to build @code{stage1} needs to support a 64-bit integral type. 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