This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: make profiledbootstrap


> I have some suggestions about minor wording issues in the documentation.

Thanks a lot!  I am attaching updated patch.  Additionally I added code
to remove the profile data when stageprofile is being built so we don't
accumulate data from multiple bootstraps together.

Sat Feb 22 02:33:03 CET 2003  Jan Hubicka  <jh at suse dot cz>

	* install.tex: Document profiledbootstrap.

	* Makefile.in (profiledbootstrap): New target

	* Makefile.in (clean, distclean): Kill new stages
	(POSTSTAGE1_FLAGS_TO_PASS): Break from ...
	(STAGE2_FLAGS_TO_PASS): ... this one.
	(STAGEPROFILE_FLAGS_TO_PASS, STAGEFEEDBACK_FLAGS_TO_PASS): New.
	(stage[2-4]_build): Add POSTSTAGE1_FLAGS_TO_PASS.
	(stageprofile_build, stageprofile_copy, stagefeedback_build,
	stagefeedback_copy): New.
	(restageprofile, restagefeedback, stageprofile-start, 
	stageprofile, stagefeedback-start): Likewise.

	* Make-lang.in:  Add support for stageprofile and stagefeedback

Index: Makefile.in
===================================================================
RCS file: /cvs/gcc/gcc/Makefile.in,v
retrieving revision 1.151
diff -c -3 -p -r1.151 Makefile.in
*** Makefile.in	21 Feb 2003 01:55:04 -0000	1.151
--- Makefile.in	22 Feb 2003 13:50:40 -0000
*************** bootstrap bootstrap-lean bootstrap2 boot
*** 7272,7277 ****
--- 7272,7294 ----
  	echo "Building runtime libraries"; \
  	$(MAKE) $(BASE_FLAGS_TO_PASS) $(RECURSE_FLAGS) all
  
+ profiledbootstrap: all-bootstrap configure-gcc
+ 	@r=`${PWD}`; export r; \
+ 	s=`cd $(srcdir); ${PWD}`; export s; \
+ 	$(SET_LIB_PATH) \
+ 	echo "Bootstrapping the compiler"; \
+ 	cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) stageprofile_build
+ 	@r=`${PWD}`; export r; \
+ 	s=`cd $(srcdir); ${PWD}` ; export s; \
+ 	$(SET_LIB_PATH) \
+ 	echo "Building runtime libraries and training compiler"; \
+ 	$(MAKE) $(BASE_FLAGS_TO_PASS) $(RECURSE_FLAGS) all
+ 	@r=`${PWD}`; export r; \
+ 	s=`cd $(srcdir); ${PWD}`; export s; \
+ 	$(SET_LIB_PATH) \
+ 	echo "Building feedback based compiler"; \
+ 	cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) stagefeedback_build
+ 
  .PHONY: cross
  cross: all-texinfo all-bison all-byacc all-binutils all-gas all-ld
  	@r=`${PWD}`; export r; \
Index: gcc/Makefile.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Makefile.in,v
retrieving revision 1.998
diff -c -3 -p -r1.998 Makefile.in
*** gcc/Makefile.in	19 Feb 2003 18:03:02 -0000	1.998
--- gcc/Makefile.in	22 Feb 2003 13:50:40 -0000
*************** BOOT_LANGUAGES = c @all_boot_languages@
*** 72,78 ****
  # TCFLAGS is used for compilations with the GCC just built.
  XCFLAGS =
  TCFLAGS =
! CFLAGS = -g
  STAGE1_CFLAGS = -g @stage1_cflags@
  BOOT_CFLAGS = -g -O2
  
--- 72,78 ----
  # TCFLAGS is used for compilations with the GCC just built.
  XCFLAGS =
  TCFLAGS =
! CFLAGS = -g -O2
  STAGE1_CFLAGS = -g @stage1_cflags@
  BOOT_CFLAGS = -g -O2
  
*************** clean: mostlyclean $(INTL_CLEAN) lang.cl
*** 2755,2761 ****
  	else if [ "x$(MULTILIB_OPTIONS)" != x ] ; then \
  	  rm -rf `echo $(MULTILIB_OPTIONS) | sed -e 's/\// /g'`; \
  	fi ; fi
! 	-rm -fr stage1 stage2 stage3 stage4
  # Delete stamps of bootstrap stages
  	-rm -f stage?_*
  	-rm -f clean?_*
--- 2755,2761 ----
  	else if [ "x$(MULTILIB_OPTIONS)" != x ] ; then \
  	  rm -rf `echo $(MULTILIB_OPTIONS) | sed -e 's/\// /g'`; \
  	fi ; fi
! 	-rm -fr stage1 stage2 stage3 stage4 stageprofile stagefeedback
  # Delete stamps of bootstrap stages
  	-rm -f stage?_*
  	-rm -f clean?_*
*************** distclean: clean $(INTL_DISTCLEAN) lang.
*** 2771,2777 ****
  	-rm -f Make-lang Make-hooks Make-host Make-target
  	-rm -f Makefile *.oaux
  	-rm -f gthr-default.h
! 	-rm -f */stage1 */stage2 */stage3 */stage4 */include
  	-rm -f c-parse.output
  	-rm -f *.asm
  	-rm -f site.exp site.bak testsuite/site.exp testsuite/site.bak
--- 2771,2777 ----
  	-rm -f Make-lang Make-hooks Make-host Make-target
  	-rm -f Makefile *.oaux
  	-rm -f gthr-default.h
! 	-rm -f */stage1 */stage2 */stage3 */stage4 */include */stageprofile */stagefeedback
  	-rm -f c-parse.output
  	-rm -f *.asm
  	-rm -f site.exp site.bak testsuite/site.exp testsuite/site.bak
*************** VOL_FILES=`echo $(BACKEND) $(OBJS) $(C_O
*** 3383,3401 ****
  # Flags to pass to stage2 and later recursive makes.  Note that the
  # WARN_CFLAGS setting can't be to the expansion of GCC_WARN_CFLAGS in
  # the context of the stage_x rule.
! STAGE2_FLAGS_TO_PASS = \
  	ADAC="\$$(CC)" \
  	GCC_FOR_TARGET="$(GCC_FOR_TARGET)" \
  	CFLAGS="$(BOOT_CFLAGS)" \
  	LDFLAGS="$(BOOT_LDFLAGS)" \
  	WARN_CFLAGS="\$$(GCC_WARN_CFLAGS)" \
- 	WERROR="@WERROR@" \
  	STRICT_WARN="$(STRICT2_WARN)" \
  	libdir=$(libdir) \
  	LANGUAGES="$(LANGUAGES)" \
  	MAKEOVERRIDES= \
  	OUTPUT_OPTION="-o \$$@"
  
  # Only build the C compiler for stage1, because that is the only one that
  # we can guarantee will build with the native compiler, and also it is the
  # only thing useful for building stage2. STAGE1_CFLAGS (via CFLAGS),
--- 3383,3413 ----
  # Flags to pass to stage2 and later recursive makes.  Note that the
  # WARN_CFLAGS setting can't be to the expansion of GCC_WARN_CFLAGS in
  # the context of the stage_x rule.
! 
! POSTSTAGE1_FLAGS_TO_PASS = \
  	ADAC="\$$(CC)" \
  	GCC_FOR_TARGET="$(GCC_FOR_TARGET)" \
  	CFLAGS="$(BOOT_CFLAGS)" \
  	LDFLAGS="$(BOOT_LDFLAGS)" \
  	WARN_CFLAGS="\$$(GCC_WARN_CFLAGS)" \
  	STRICT_WARN="$(STRICT2_WARN)" \
  	libdir=$(libdir) \
  	LANGUAGES="$(LANGUAGES)" \
  	MAKEOVERRIDES= \
  	OUTPUT_OPTION="-o \$$@"
  
+ STAGE2_FLAGS_TO_PASS = \
+ 	CFLAGS="$(BOOT_CFLAGS)" \
+ 	WERROR="@WERROR@" \
+ 
+ STAGEPROFILE_FLAGS_TO_PASS = \
+ 	CFLAGS="$(BOOT_CFLAGS) -fprofile-arcs" 
+ 
+ # Files never linked into the final executable produces warnings about missing
+ # profile.
+ STAGEFEEDBACK_FLAGS_TO_PASS = \
+ 	CFLAGS="$(BOOT_CFLAGS) -fbranch-probabilities" 
+ 
  # Only build the C compiler for stage1, because that is the only one that
  # we can guarantee will build with the native compiler, and also it is the
  # only thing useful for building stage2. STAGE1_CFLAGS (via CFLAGS),
*************** stage1_copy: stage1_build
*** 3417,3422 ****
--- 3429,3435 ----
  stage2_build: stage1_copy
  	$(MAKE) CC="$(STAGE_CC_WRAPPER) stage1/xgcc$(exeext) -Bstage1/ -B$(build_tooldir)/bin/" \
  		 STAGE_PREFIX=stage1/ \
+ 		 $(POSTSTAGE1_FLAGS_TO_PASS) \
  		 $(STAGE2_FLAGS_TO_PASS)
  	$(STAMP) stage2_build
  	echo stage2_build > stage_last
*************** stage2_copy: stage2_build
*** 3426,3434 ****
--- 3439,3474 ----
  	$(STAMP) stage2_copy
  	echo stage3_build > stage_last
  
+ stageprofile_build: stage1_copy
+ 	$(MAKE) CC="$(STAGE_CC_WRAPPER) stage1/xgcc$(exeext) -Bstage1/ -B$(build_tooldir)/bin/" \
+ 		 STAGE_PREFIX=stage1/ \
+ 		 $(POSTSTAGE1_FLAGS_TO_PASS) \
+ 		 $(STAGEPROFILE_FLAGS_TO_PASS)
+ 	$(STAMP) stageprofile_build
+ 	echo stageprofile_build > stage_last
+ 
+ stageprofile_copy: stageprofile_build
+ 	$(MAKE) stageprofile
+ 	$(STAMP) stageprofile_copy
+ 	echo stagefeedback_build > stage_last
+ 
+ stagefeedback_build: stageprofile_copy stage1_copy
+ 	$(MAKE) CC="$(STAGE_CC_WRAPPER) stage1/xgcc$(exeext) -Bstage1/ -B$(build_tooldir)/bin/" \
+ 		 STAGE_PREFIX=stage1/ \
+ 		 $(POSTSTAGE1_FLAGS_TO_PASS) \
+ 		 $(STAGEFEEDBACK_FLAGS_TO_PASS)
+ 	$(STAMP) stagefeedback_build
+ 	echo stagefeedback_build > stage_last
+ 
+ stagefeedback_copy: stagefeedback_build
+ 	$(MAKE) stagefeedback
+ 	$(STAMP) stagefeedback_copy
+ 	echo stagefeedback2_build > stage_last
+ 
  stage3_build: stage2_copy
  	$(MAKE) CC="$(STAGE_CC_WRAPPER) stage2/xgcc$(exeext) -Bstage2/ -B$(build_tooldir)/bin/" \
  		 STAGE_PREFIX=stage2/ \
+ 		 $(POSTSTAGE1_FLAGS_TO_PASS) \
  		 $(STAGE2_FLAGS_TO_PASS)
  	$(STAMP) stage3_build
  	echo stage3_build > stage_last
*************** stage3_copy: stage3_build
*** 3442,3447 ****
--- 3482,3488 ----
  stage4_build: stage3_copy
  	$(MAKE) CC="$(STAGE_CC_WRAPPER) stage3/xgcc$(exeext) -Bstage3/ -B$(build_tooldir)/bin/" \
  		 STAGE_PREFIX=stage3/ \
+ 		 $(POSTSTAGE1_FLAGS_TO_PASS) \
  		 $(STAGE2_FLAGS_TO_PASS)
  	$(STAMP) stage4_build
  	echo stage4_build > stage_last
*************** bootstrap3 bootstrap3-lean: bootstrap
*** 3477,3483 ****
  
  bootstrap4 bootstrap4-lean: stage4_build
  
! unstage1 unstage2 unstage3 unstage4:
  	-set -vx; stage=`echo $@ | sed -e 's/un//'`; \
  	rm -f $$stage/as$(exeext); \
  	rm -f $$stage/ld$(exeext); \
--- 3518,3524 ----
  
  bootstrap4 bootstrap4-lean: stage4_build
  
! unstage1 unstage2 unstage3 unstage4 unstageprofile unstagefeedback:
  	-set -vx; stage=`echo $@ | sed -e 's/un//'`; \
  	rm -f $$stage/as$(exeext); \
  	rm -f $$stage/ld$(exeext); \
*************** restage3: unstage3
*** 3507,3512 ****
--- 3548,3559 ----
  restage4: unstage4
  	$(MAKE) LANGUAGES="$(LANGUAGES)" stage4_build
  
+ restageprofile: unstageprofile
+ 	$(MAKE) LANGUAGES="$(LANGUAGES)" stageprofile_build
+ 
+ restagefeedback: unstagefeedback
+ 	$(MAKE) LANGUAGES="$(LANGUAGES)" stagefeedback_build
+ 
  bubblestrap:
  	if test -f stage3_build; then true; else \
  	  echo; echo You must \"make bootstrap\" first.; \
*************** stage4-start:
*** 3725,3730 ****
--- 3772,3834 ----
  	fi; done
  stage4: force stage4-start lang.stage4
  
+ stageprofile-start:
+ 	-if [ -d stageprofile ] ; then true ; else mkdir stageprofile ; fi
+ 	$(MAKE) -f libgcc.mk libgcc-stage-start stage=stageprofile
+ 	-for dir in intl $(SUBDIRS) ; \
+ 	 do \
+ 	   if [ -d stageprofile/$$dir ] ; then true ; else mkdir stageprofile/$$dir ; fi ; \
+ 	 done
+ 	-mv $(STAGESTUFF) stageprofile
+ 	-mv intl/*$(objext) stageprofile/intl
+ # Copy as/ld if they exist to stage dir, so that running xgcc from the stage
+ # dir will work properly.
+ 	-if [ -f as$(exeext) ] ; then (cd stageprofile && $(LN_S) ../as$(exeext) .) ; else true ; fi
+ 	-if [ -f ld$(exeext) ] ; then (cd stageprofile && $(LN_S) ../ld$(exeext) .) ; else true ; fi
+ 	-if [ -f collect-ld$(exeext) ] ; then (cd stageprofile && $(LN_S) ../collect-ld$(exeext) .) ; else true ; fi
+ 	-rm -f stageprofile/libgcc.a stageprofile/libgcov.a stageprofile/libgcc_eh.a
+ 	-cp libgcc.a stageprofile
+ 	-$(RANLIB_FOR_TARGET) stageprofile/libgcc.a
+ 	-cp libgcov.a stageprofile
+ 	-$(RANLIB_FOR_TARGET) stageprofile/libgcov.a
+ 	-if [ -f libgcc_eh.a ] ; then cp libgcc_eh.a stageprofile; \
+ 	   $(RANLIB_FOR_TARGET) stageprofile/libgcc_eh.a; \
+ 	fi
+ 	-for f in .. $(EXTRA_MULTILIB_PARTS); do if [ x$${f} != x.. ]; then \
+ 	  cp stageprofile/$${f} . ; \
+ 	else true; \
+ 	fi; done
+ stageprofile: force stageprofile-start lang.stageprofile
+ 
+ stagefeedback-start:
+ 	-if [ -d stagefeedback ] ; then true ; else mkdir stagefeedback ; fi
+ 	$(MAKE) -f libgcc.mk libgcc-stage-start stage=stagefeedback
+ 	-for dir in intl $(SUBDIRS) ; \
+ 	 do \
+ 	   if [ -d stagefeedback/$$dir ] ; then true ; else mkdir stagefeedback/$$dir ; fi ; \
+ 	 done
+ 	-mv $(STAGESTUFF) stagefeedback
+ 	-mv intl/*$(objext) stagefeedback/intl
+ # Copy as/ld if they exist to stage dir, so that running xgcc from the stage
+ # dir will work properly.
+ 	-if [ -f as$(exeext) ] ; then (cd stagefeedback && $(LN_S) ../as$(exeext) .) ; else true ; fi
+ 	-if [ -f ld$(exeext) ] ; then (cd stagefeedback && $(LN_S) ../ld$(exeext) .) ; else true ; fi
+ 	-if [ -f collect-ld$(exeext) ] ; then (cd stagefeedback && $(LN_S) ../collect-ld$(exeext) .) ; else true ; fi
+ 	-rm -f stagefeedback/libgcc.a stagefeedback/libgcov.a stagefeedback/libgcc_eh.a
+ 	-rm -f *.da ada/*.da cp/*.da f/*.da java/*.da objc/*.da fixinc/*.da intl po testsuite 2>/dev/null
+ 	-cp libgcc.a stagefeedback
+ 	-$(RANLIB_FOR_TARGET) stagefeedback/libgcc.a
+ 	-cp libgcov.a stagefeedback
+ 	-$(RANLIB_FOR_TARGET) stagefeedback/libgcov.a
+ 	-if [ -f libgcc_eh.a ] ; then cp libgcc_eh.a stagefeedback; \
+ 	   $(RANLIB_FOR_TARGET) stagefeedback/libgcc_eh.a; \
+ 	fi
+ 	-for f in .. $(EXTRA_MULTILIB_PARTS); do if [ x$${f} != x.. ]; then \
+ 	  cp stagefeedback/$${f} . ; \
+ 	else true; \
+ 	fi; done
+ stagefeedback: force stagefeedback-start lang.stagefeedback
+ 
  # Copy just the executable files from a particular stage into a subdirectory,
  # and delete the object files.  Use this if you're just verifying a version
  # that is pretty sure to work, and you are short of disk space.
*************** risky-stage4: stage4
*** 3743,3748 ****
--- 3847,3853 ----
  #In GNU Make, ignore whether `stage*' exists.
  .PHONY: stage1 stage2 stage3 stage4 clean maintainer-clean TAGS bootstrap
  .PHONY: risky-stage1 risky-stage2 risky-stage3 risky-stage4
+ .PHONY: stagefeedback stageprofile
  
  force:
  
Index: gcc/configure.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/configure.in,v
retrieving revision 1.644
diff -c -3 -p -r1.644 configure.in
*** gcc/configure.in	20 Feb 2003 23:38:06 -0000	1.644
--- gcc/configure.in	22 Feb 2003 13:50:40 -0000
*************** target_list="all.build all.cross start.e
*** 2733,2739 ****
  	install-normal install-common install-info install-man \
  	uninstall \
  	mostlyclean clean distclean extraclean maintainer-clean \
! 	stage1 stage2 stage3 stage4"
  for t in $target_list
  do
  	x=
--- 2733,2739 ----
  	install-normal install-common install-info install-man \
  	uninstall \
  	mostlyclean clean distclean extraclean maintainer-clean \
! 	stage1 stage2 stage3 stage4 stageprofile stagefeedback"
  for t in $target_list
  do
  	x=
*************** if test "$symbolic_link" = "ln -s"; then
*** 2961,2967 ****
     if test $d != ..; then
  	STARTDIR=`${PWDCMD-pwd}`
  	cd $d
! 	for t in stage1 stage2 stage3 stage4 include
  	do
  		rm -f $t
  		$symbolic_link ../$t $t 2>/dev/null
--- 2961,2967 ----
     if test $d != ..; then
  	STARTDIR=`${PWDCMD-pwd}`
  	cd $d
! 	for t in stage1 stage2 stage3 stage4 stageprofile stagefeedback include
  	do
  		rm -f $t
  		$symbolic_link ../$t $t 2>/dev/null
Index: gcc/ada/Make-lang.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/ada/Make-lang.in,v
retrieving revision 1.25
diff -c -3 -p -r1.25 Make-lang.in
*** gcc/ada/Make-lang.in	3 Feb 2003 00:55:32 -0000	1.25
--- gcc/ada/Make-lang.in	22 Feb 2003 13:50:40 -0000
*************** ada.stage3: stage3-start
*** 805,810 ****
--- 805,816 ----
  ada.stage4: stage4-start
  	-$(MV) ada/*$(objext) ada/*.ali ada/b_*.c stage4/ada
  	-$(MV) ada/stamp-* stage4/ada
+ ada.stageprofile: stageprofile-start
+ 	-$(MV) ada/*$(objext) ada/*.ali ada/b_*.c stageprofile/ada
+ 	-$(MV) ada/stamp-* stageprofile/ada
+ ada.stagefeedback: stagefeedback-start
+ 	-$(MV) ada/*$(objext) ada/*.ali ada/b_*.c stagefeedback/ada
+ 	-$(MV) ada/stamp-* stagefeedback/ada
  
  check-ada:
  
Index: gcc/cp/Make-lang.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cp/Make-lang.in,v
retrieving revision 1.134
diff -c -3 -p -r1.134 Make-lang.in
*** gcc/cp/Make-lang.in	13 Feb 2003 04:57:20 -0000	1.134
--- gcc/cp/Make-lang.in	22 Feb 2003 13:50:41 -0000
*************** c++.stage3: stage3-start
*** 205,210 ****
--- 205,214 ----
  	-mv cp/*$(objext) stage3/cp
  c++.stage4: stage4-start
  	-mv cp/*$(objext) stage4/cp
+ c++.stageprofile: stageprofile-start
+ 	-mv cp/*$(objext) stageprofile/cp
+ c++.stagefeedback: stagefeedback-start
+ 	-mv cp/*$(objext) stagefeedback/cp
  
  #
  # .o: .h dependencies.
Index: gcc/doc/install.texi
===================================================================
RCS file: /cvs/gcc/gcc/gcc/doc/install.texi,v
retrieving revision 1.174
diff -c -3 -p -r1.174 install.texi
*** gcc/doc/install.texi	21 Feb 2003 03:12:17 -0000	1.174
--- gcc/doc/install.texi	22 Feb 2003 13:50:41 -0000
*************** following commands (assuming @command{ma
*** 1187,1192 ****
--- 1187,1210 ----
  Currently, when compiling the Ada front end, you cannot use the parallel
  build feature described in the previous section.
  
+ @section Building with profile feedback
+ 
+ It is possible to use profile feedback to optimize the compiler itself.  This
+ should result in a faster compiler binary.  Experiments done on x86 using gcc
+ 3.3 showed approximately 7 percent speedup on compiling C programs.  To
+ bootstrap 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.
+ 
+ Unlike @samp{make bootstrap} several additional restrictions apply.  The
+ compiler used to build @code{stage1} needs to support a 64-bit integral type.
+ It is recommended to only use GCC for this.  Also parallel make is currently
+ not supported since collisions in profile collecting may occur.
+ 
  @html
  <hr />
  <p>
Index: gcc/f/Make-lang.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/f/Make-lang.in,v
retrieving revision 1.119
diff -c -3 -p -r1.119 Make-lang.in
*** gcc/f/Make-lang.in	21 Jan 2003 13:45:14 -0000	1.119
--- gcc/f/Make-lang.in	22 Feb 2003 13:50:41 -0000
*************** F77 f77: f771$(exeext)
*** 63,69 ****
    f77.install-common f77.install-info f77.install-man \
    f77.uninstall f77.mostlyclean f77.clean f77.distclean \
    f77.extraclean f77.maintainer-clean f77.rebuilt \
!   f77.stage1 f77.stage2 f77.stage3 f77.stage4
  
  g77spec.o: $(srcdir)/f/g77spec.c $(SYSTEM_H) coretypes.h $(TM_H) $(GCC_H) \
  	$(CONFIG_H)
--- 63,70 ----
    f77.install-common f77.install-info f77.install-man \
    f77.uninstall f77.mostlyclean f77.clean f77.distclean \
    f77.extraclean f77.maintainer-clean f77.rebuilt \
!   f77.stage1 f77.stage2 f77.stage3 f77.stage4 \
!   f77.stageprofile f77.stagefeedback
  
  g77spec.o: $(srcdir)/f/g77spec.c $(SYSTEM_H) coretypes.h $(TM_H) $(GCC_H) \
  	$(CONFIG_H)
*************** f77.stage3: stage3-start
*** 346,351 ****
--- 347,357 ----
  f77.stage4: stage4-start
  	-mv -f $(G77STAGESTUFF) stage4/f
  
+ f77.stageprofile: stageprofile-start
+ 	-mv -f $(G77STAGESTUFF) stageprofile/f
+ 
+ f77.stagefeedback: stageprofile-start
+ 	-mv -f $(G77STAGESTUFF) stagefeedback/f
  #
  # .o: .h dependencies.
  
Index: gcc/java/Make-lang.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/java/Make-lang.in,v
retrieving revision 1.103
diff -c -3 -p -r1.103 Make-lang.in
*** gcc/java/Make-lang.in	30 Jan 2003 05:19:31 -0000	1.103
--- gcc/java/Make-lang.in	22 Feb 2003 13:50:41 -0000
*************** java.stage3: stage3-start
*** 258,263 ****
--- 258,267 ----
  	-mv java/*$(objext) stage3/java
  java.stage4: stage4-start
  	-mv java/*$(objext) stage4/java
+ java.stageprofile: stageprofile-start
+ 	-mv java/*$(objext) stageprofile/java
+ java.stagefeedback: stageprofile-start
+ 	-mv java/*$(objext) stagefeedback/java
  
  #
  # .o:.h dependencies.
Index: gcc/objc/Make-lang.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/objc/Make-lang.in,v
retrieving revision 1.55
diff -c -3 -p -r1.55 Make-lang.in
*** gcc/objc/Make-lang.in	30 Jan 2003 05:17:55 -0000	1.55
--- gcc/objc/Make-lang.in	22 Feb 2003 13:50:41 -0000
*************** objc.stage3: stage3-start
*** 152,154 ****
--- 152,160 ----
  objc.stage4: stage4-start
  	-mv objc/*$(objext) stage4/objc
  	-mv cc1obj$(exeext) stage4
+ objc.stageprofile: stageprofile-start
+ 	-mv objc/*$(objext) stageprofile/objc
+ 	-mv cc1obj$(exeext) stageprofile
+ objc.stagefeedback: stagefeedback-start
+ 	-mv objc/*$(objext) stagefeedback/objc
+ 	-mv cc1obj$(exeext) stagefeedback
Index: gcc/treelang/Make-lang.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/treelang/Make-lang.in,v
retrieving revision 1.12
diff -c -3 -p -r1.12 Make-lang.in
*** gcc/treelang/Make-lang.in	26 Jan 2003 10:17:17 -0000	1.12
--- gcc/treelang/Make-lang.in	22 Feb 2003 13:50:42 -0000
*************** treelang.stage3: stage3-start
*** 258,263 ****
--- 258,267 ----
  	-mv treelang/*$(objext) stage3/treelang
  treelang.stage4: stage4-start
  	-mv treelang/*$(objext) stage4/treelang
+ treelang.stageprofile: stageprofile-start
+ 	-mv treelang/*$(objext) stageprofile/treelang
+ treelang.stagefeedback: stagefeedback-start
+ 	-mv treelang/*$(objext) stagefeedback/treelang
  #
  # Maintenance hooks:
  


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]