mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-11-27 05:44:15 +08:00
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>
|
||||
|
||||
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 +] \
|
||||
"STAGE[+id+]_CFLAGS=$(STAGE[+id+]_CFLAGS)" \
|
||||
"STAGE[+id+]_CXXFLAGS=$(STAGE[+id+]_CXXFLAGS)" \
|
||||
"STAGE[+id+]_GENERATOR_CFLAGS=$(STAGE[+id+]_GENERATOR_CFLAGS)" \
|
||||
"STAGE[+id+]_TFLAGS=$(STAGE[+id+]_TFLAGS)"[+ ENDFOR bootstrap-stage +] \
|
||||
$(CXX_FOR_TARGET_FLAG_TO_PASS) \
|
||||
"TFLAGS=$(TFLAGS)" \
|
||||
@ -1193,6 +1194,7 @@ all-stage[+id+]-[+prefix+][+module+]: configure-stage[+id+]-[+prefix+][+module+]
|
||||
CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
|
||||
LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"[+ ELSE prefix +] \
|
||||
CFLAGS="$(STAGE[+id+]_CFLAGS)" \
|
||||
GENERATOR_CFLAGS="$(STAGE[+id+]_GENERATOR_CFLAGS)" \
|
||||
CXXFLAGS="$(STAGE[+id+]_CXXFLAGS)"[+ IF prev +] \
|
||||
LIBCFLAGS="$(STAGE[+id+]_CFLAGS)"[+ ELSE prev +] \
|
||||
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>
|
||||
|
||||
* mh-mingw: Also set __USE_MINGW_ACCESS flag for C++ code.
|
||||
|
16
config/bootstrap-lto-lean.mk
Normal file
16
config/bootstrap-lto-lean.mk
Normal file
@ -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>
|
||||
|
||||
* 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@
|
||||
NO_PIE_CFLAGS_FOR_BUILD = @NO_PIE_CFLAGS_FOR_BUILD@
|
||||
NO_PIE_FLAG_FOR_BUILD = @NO_PIE_FLAG_FOR_BUILD@
|
||||
BUILD_CFLAGS= @BUILD_CFLAGS@ -DGENERATOR_FILE
|
||||
BUILD_CXXFLAGS = @BUILD_CXXFLAGS@ -DGENERATOR_FILE
|
||||
BUILD_CFLAGS= @BUILD_CFLAGS@ $(GENERATOR_CFLAGS) -DGENERATOR_FILE
|
||||
BUILD_CXXFLAGS = @BUILD_CXXFLAGS@ $(GENERATOR_CFLAGS) -DGENERATOR_FILE
|
||||
BUILD_NO_PIE_CFLAGS = @BUILD_NO_PIE_CFLAGS@
|
||||
BUILD_CFLAGS += $(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
|
||||
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}
|
||||
Verifies that the compiler generates the same executable code, whether
|
||||
or not it is asked to emit debug information. To this end, this
|
||||
|
Loading…
Reference in New Issue
Block a user