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
This commit is contained in:
parent
871cc215f7
commit
0d053a49b6
6 changed files with 2719 additions and 57 deletions
|
@ -1,3 +1,9 @@
|
|||
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 ;
|
||||
|
|
2749
Makefile.in
2749
Makefile.in
File diff suppressed because it is too large
Load diff
|
@ -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)
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
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
|
||||
|
|
|
@ -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.
|
||||
|
|
Loading…
Add table
Reference in a new issue