Come up with bootstrap-lto-lean config.
2019-04-09 Martin Liska <mliska@suse.cz> * Makefile.in: Regenerate. * Makefile.tpl: Pass GENERATOR_CFLAGS in all stages. 2019-04-09 Martin Liska <mliska@suse.cz> * bootstrap-lto-lean.mk: New file. 2019-04-09 Martin Liska <mliska@suse.cz> * Makefile.in: Use GENERATOR_CFLAGS for all generators. * doc/install.texi: Document the new config. From-SVN: r270223
This commit is contained in:
parent
6c0b8df123
commit
1c67e69c0d
|
@ -1,3 +1,9 @@
|
||||||
|
2019-04-09 Martin Liska <mliska@suse.cz>
|
||||||
|
|
||||||
|
* Makefile.in: Regenerate.
|
||||||
|
* Makefile.tpl: Pass GENERATOR_CFLAGS
|
||||||
|
in all stages.
|
||||||
|
|
||||||
2019-03-28 Martin Liska <mliska@suse.cz>
|
2019-03-28 Martin Liska <mliska@suse.cz>
|
||||||
|
|
||||||
PR bootstrap/89829
|
PR bootstrap/89829
|
||||||
|
|
207
Makefile.in
207
Makefile.in
File diff suppressed because it is too large
Load Diff
|
@ -624,6 +624,7 @@ BASE_FLAGS_TO_PASS =[+ FOR flags_to_pass +][+ IF optional +] \
|
||||||
"[+flag+]=$([+flag+])"[+ ENDIF optional+][+ ENDFOR flags_to_pass +][+ FOR bootstrap-stage +] \
|
"[+flag+]=$([+flag+])"[+ ENDIF optional+][+ ENDFOR flags_to_pass +][+ FOR bootstrap-stage +] \
|
||||||
"STAGE[+id+]_CFLAGS=$(STAGE[+id+]_CFLAGS)" \
|
"STAGE[+id+]_CFLAGS=$(STAGE[+id+]_CFLAGS)" \
|
||||||
"STAGE[+id+]_CXXFLAGS=$(STAGE[+id+]_CXXFLAGS)" \
|
"STAGE[+id+]_CXXFLAGS=$(STAGE[+id+]_CXXFLAGS)" \
|
||||||
|
"STAGE[+id+]_GENERATOR_CFLAGS=$(STAGE[+id+]_GENERATOR_CFLAGS)" \
|
||||||
"STAGE[+id+]_TFLAGS=$(STAGE[+id+]_TFLAGS)"[+ ENDFOR bootstrap-stage +] \
|
"STAGE[+id+]_TFLAGS=$(STAGE[+id+]_TFLAGS)"[+ ENDFOR bootstrap-stage +] \
|
||||||
$(CXX_FOR_TARGET_FLAG_TO_PASS) \
|
$(CXX_FOR_TARGET_FLAG_TO_PASS) \
|
||||||
"TFLAGS=$(TFLAGS)" \
|
"TFLAGS=$(TFLAGS)" \
|
||||||
|
@ -1193,6 +1194,7 @@ all-stage[+id+]-[+prefix+][+module+]: configure-stage[+id+]-[+prefix+][+module+]
|
||||||
CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
|
CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
|
||||||
LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"[+ ELSE prefix +] \
|
LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"[+ ELSE prefix +] \
|
||||||
CFLAGS="$(STAGE[+id+]_CFLAGS)" \
|
CFLAGS="$(STAGE[+id+]_CFLAGS)" \
|
||||||
|
GENERATOR_CFLAGS="$(STAGE[+id+]_GENERATOR_CFLAGS)" \
|
||||||
CXXFLAGS="$(STAGE[+id+]_CXXFLAGS)"[+ IF prev +] \
|
CXXFLAGS="$(STAGE[+id+]_CXXFLAGS)"[+ IF prev +] \
|
||||||
LIBCFLAGS="$(STAGE[+id+]_CFLAGS)"[+ ELSE prev +] \
|
LIBCFLAGS="$(STAGE[+id+]_CFLAGS)"[+ ELSE prev +] \
|
||||||
LIBCFLAGS="$(LIBCFLAGS)"[+ ENDIF prev +][+ ENDIF prefix +] \
|
LIBCFLAGS="$(LIBCFLAGS)"[+ ENDIF prev +][+ ENDIF prefix +] \
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2019-04-09 Martin Liska <mliska@suse.cz>
|
||||||
|
|
||||||
|
* bootstrap-lto-lean.mk: New file.
|
||||||
|
|
||||||
2019-03-02 Johannes Pfau <johannespfau@gmail.com>
|
2019-03-02 Johannes Pfau <johannespfau@gmail.com>
|
||||||
|
|
||||||
* mh-mingw: Also set __USE_MINGW_ACCESS flag for C++ code.
|
* mh-mingw: Also set __USE_MINGW_ACCESS flag for C++ code.
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
# This option enables LTO for stage4 and LTO for generators in stage3 with profiledbootstrap.
|
||||||
|
# Otherwise, LTO is used in only stage3.
|
||||||
|
|
||||||
|
STAGE3_CFLAGS += -flto=jobserver
|
||||||
|
STAGEtrain_GENERATOR_CFLAGS += -flto=jobserver
|
||||||
|
STAGEfeedback_CFLAGS += -flto=jobserver
|
||||||
|
|
||||||
|
# assumes the host supports the linker plugin
|
||||||
|
LTO_AR = $$r/$(HOST_SUBDIR)/prev-gcc/gcc-ar$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/
|
||||||
|
LTO_RANLIB = $$r/$(HOST_SUBDIR)/prev-gcc/gcc-ranlib$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/
|
||||||
|
|
||||||
|
LTO_EXPORTS = AR="$(LTO_AR)"; export AR; \
|
||||||
|
RANLIB="$(LTO_RANLIB)"; export RANLIB;
|
||||||
|
LTO_FLAGS_TO_PASS = AR="$(LTO_AR)" RANLIB="$(LTO_RANLIB)"
|
||||||
|
|
||||||
|
do-compare = /bin/true
|
|
@ -1,3 +1,8 @@
|
||||||
|
2019-04-09 Martin Liska <mliska@suse.cz>
|
||||||
|
|
||||||
|
* Makefile.in: Use GENERATOR_CFLAGS for all generators.
|
||||||
|
* doc/install.texi: Document the new config.
|
||||||
|
|
||||||
2019-04-09 Richard Sandiford <richard.sandiford@arm.com>
|
2019-04-09 Richard Sandiford <richard.sandiford@arm.com>
|
||||||
|
|
||||||
* tree-vect-data-refs.c (vect_get_smallest_scalar_type): Always
|
* tree-vect-data-refs.c (vect_get_smallest_scalar_type): Always
|
||||||
|
|
|
@ -785,8 +785,8 @@ CC_FOR_BUILD = @CC_FOR_BUILD@
|
||||||
CXX_FOR_BUILD = @CXX_FOR_BUILD@
|
CXX_FOR_BUILD = @CXX_FOR_BUILD@
|
||||||
NO_PIE_CFLAGS_FOR_BUILD = @NO_PIE_CFLAGS_FOR_BUILD@
|
NO_PIE_CFLAGS_FOR_BUILD = @NO_PIE_CFLAGS_FOR_BUILD@
|
||||||
NO_PIE_FLAG_FOR_BUILD = @NO_PIE_FLAG_FOR_BUILD@
|
NO_PIE_FLAG_FOR_BUILD = @NO_PIE_FLAG_FOR_BUILD@
|
||||||
BUILD_CFLAGS= @BUILD_CFLAGS@ -DGENERATOR_FILE
|
BUILD_CFLAGS= @BUILD_CFLAGS@ $(GENERATOR_CFLAGS) -DGENERATOR_FILE
|
||||||
BUILD_CXXFLAGS = @BUILD_CXXFLAGS@ -DGENERATOR_FILE
|
BUILD_CXXFLAGS = @BUILD_CXXFLAGS@ $(GENERATOR_CFLAGS) -DGENERATOR_FILE
|
||||||
BUILD_NO_PIE_CFLAGS = @BUILD_NO_PIE_CFLAGS@
|
BUILD_NO_PIE_CFLAGS = @BUILD_NO_PIE_CFLAGS@
|
||||||
BUILD_CFLAGS += $(BUILD_NO_PIE_CFLAGS)
|
BUILD_CFLAGS += $(BUILD_NO_PIE_CFLAGS)
|
||||||
BUILD_CXXFLAGS += $(BUILD_NO_PIE_CFLAGS)
|
BUILD_CXXFLAGS += $(BUILD_NO_PIE_CFLAGS)
|
||||||
|
|
|
@ -2529,6 +2529,12 @@ static libraries are not compiled with link-time optimizations. Since
|
||||||
the GCC middle end and back end are in @file{libbackend.a} this means
|
the GCC middle end and back end are in @file{libbackend.a} this means
|
||||||
that only the front end is actually LTO optimized.
|
that only the front end is actually LTO optimized.
|
||||||
|
|
||||||
|
@item @samp{bootstrap-lto-lean}
|
||||||
|
This option is similar to @code{bootstrap-lto}, but is intended for
|
||||||
|
faster build by only using LTO in the final bootstrap stage.
|
||||||
|
With @samp{make profiledbootstrap} the LTO frontend
|
||||||
|
is trained only on generator files.
|
||||||
|
|
||||||
@item @samp{bootstrap-debug}
|
@item @samp{bootstrap-debug}
|
||||||
Verifies that the compiler generates the same executable code, whether
|
Verifies that the compiler generates the same executable code, whether
|
||||||
or not it is asked to emit debug information. To this end, this
|
or not it is asked to emit debug information. To this end, this
|
||||||
|
|
Loading…
Reference in New Issue