packages: gcc/gcc-branch.diff, gcc/gcc.spec - up to 4.4.1

arekm arekm at pld-linux.org
Fri Jul 24 09:54:02 CEST 2009


Author: arekm                        Date: Fri Jul 24 07:54:01 2009 GMT
Module: packages                      Tag: HEAD
---- Log message:
- up to 4.4.1

---- Files affected:
packages/gcc:
   gcc-branch.diff (1.17 -> 1.18) , gcc.spec (1.582 -> 1.583) 

---- Diffs:

================================================================
Index: packages/gcc/gcc-branch.diff
diff -u packages/gcc/gcc-branch.diff:1.17 packages/gcc/gcc-branch.diff:1.18
--- packages/gcc/gcc-branch.diff:1.17	Mon Jul 20 21:38:46 2009
+++ packages/gcc/gcc-branch.diff	Fri Jul 24 09:33:17 2009
@@ -1,133048 +1,514510 @@
-Index: configure
-===================================================================
---- configure	(.../tags/gcc_4_4_0_release)	(wersja 149828)
-+++ configure	(.../branches/gcc-4_4-branch)	(wersja 149828)
-@@ -272,7 +272,7 @@
- PACKAGE_BUGREPORT=
- 
- ac_unique_file="move-if-change"
--ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS TOPLEVEL_CONFIGURE_ARGUMENTS build build_cpu build_vendor build_os build_noncanonical host_noncanonical target_noncanonical host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN LN_S build_libsubdir build_subdir host_subdir target_subdir CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX GNATBIND ac_ct_GNATBIND GNATMAKE ac_ct_GNATMAKE do_compare gmplibs gmpinc ppllibs pplinc clooglibs clooginc stage1_languages SYSROOT_CFLAGS_FOR_TARGET DEBUG_PREFIX_CFLAGS_FOR_TARGET CFLAGS_FOR_TARGET CXXFLAGS_FOR_TARGET RPATH_ENVVAR GCC_SHLIB_SUBDIR tooldir build_
 tooldir CONFIGURE_GDB_TK GDB_TK INSTALL_GDB_TK build_configargs build_configdirs host_configargs configdirs target_configargs AR_FOR_BUILD AS_FOR_BUILD CC_FOR_BUILD CFLAGS_FOR_BUILD CXXFLAGS_FOR_BUILD CXX_FOR_BUILD DLLTOOL_FOR_BUILD GCJ_FOR_BUILD GFORTRAN_FOR_BUILD LDFLAGS_FOR_BUILD LD_FOR_BUILD NM_FOR_BUILD RANLIB_FOR_BUILD WINDMC_FOR_BUILD WINDRES_FOR_BUILD config_shell YACC BISON M4 LEX FLEX MAKEINFO EXPECT RUNTEST AR AS DLLTOOL LD LIPO NM RANLIB STRIP WINDRES WINDMC OBJCOPY OBJDUMP CC_FOR_TARGET CXX_FOR_TARGET GCC_FOR_TARGET GCJ_FOR_TARGET GFORTRAN_FOR_TARGET AR_FOR_TARGET AS_FOR_TARGET DLLTOOL_FOR_TARGET LD_FOR_TARGET LIPO_FOR_TARGET NM_FOR_TARGET OBJDUMP_FOR_TARGET RANLIB_FOR_TARGET STRIP_FOR_TARGET WINDRES_FOR_TARGET WINDMC_FOR_TARGET RAW_CXX_FOR_TARGET FLAGS_FOR_TARGET COMPILER_AS_FOR_TARGET COMPILER_LD_FOR_TARGET COMPILER_NM_FOR_TARGET MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT stage1_cflags stage1_checking stage2_werror_flag datarootdir docdir pdfdir htmldir 
 LIBOBJS LTLIBOBJS'
-+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS TOPLEVEL_CONFIGURE_ARGUMENTS build build_cpu build_vendor build_os build_noncanonical host_noncanonical target_noncanonical host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN LN_S build_libsubdir build_subdir host_subdir target_subdir CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX GNATBIND ac_ct_GNATBIND GNATMAKE ac_ct_GNATMAKE do_compare gmplibs gmpinc extra_mpfr_configure_flags ppllibs pplinc clooglibs clooginc stage1_languages SYSROOT_CFLAGS_FOR_TARGET DEBUG_PREFIX_CFLAGS_FOR_TARGET CFLAGS_FOR_TARGET CXXFLAGS_FOR_TARGET RPATH_ENVVAR GCC_
 SHLIB_SUBDIR tooldir build_tooldir CONFIGURE_GDB_TK GDB_TK INSTALL_GDB_TK build_configargs build_configdirs host_configargs configdirs target_configargs AR_FOR_BUILD AS_FOR_BUILD CC_FOR_BUILD CFLAGS_FOR_BUILD CXXFLAGS_FOR_BUILD CXX_FOR_BUILD DLLTOOL_FOR_BUILD GCJ_FOR_BUILD GFORTRAN_FOR_BUILD LDFLAGS_FOR_BUILD LD_FOR_BUILD NM_FOR_BUILD RANLIB_FOR_BUILD WINDMC_FOR_BUILD WINDRES_FOR_BUILD config_shell YACC BISON M4 LEX FLEX MAKEINFO EXPECT RUNTEST AR AS DLLTOOL LD LIPO NM RANLIB STRIP WINDRES WINDMC OBJCOPY OBJDUMP CC_FOR_TARGET CXX_FOR_TARGET GCC_FOR_TARGET GCJ_FOR_TARGET GFORTRAN_FOR_TARGET AR_FOR_TARGET AS_FOR_TARGET DLLTOOL_FOR_TARGET LD_FOR_TARGET LIPO_FOR_TARGET NM_FOR_TARGET OBJDUMP_FOR_TARGET RANLIB_FOR_TARGET STRIP_FOR_TARGET WINDRES_FOR_TARGET WINDMC_FOR_TARGET RAW_CXX_FOR_TARGET FLAGS_FOR_TARGET COMPILER_AS_FOR_TARGET COMPILER_LD_FOR_TARGET COMPILER_NM_FOR_TARGET MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT stage1_cflags stage1_checking stage2_werror_flag dataroo
 tdir docdir pdfdir htmldir LIBOBJS LTLIBOBJS'
- ac_subst_files='serialization_dependencies host_makefile_frag target_makefile_frag alphaieee_frag ospace_frag'
- ac_pwd=`pwd`
- 
-@@ -4596,6 +4596,7 @@
- if test "x$with_gmp$with_gmp_include$with_gmp_lib" = x && test -d ${srcdir}/gmp; then
-   gmplibs='-L$$r/$(HOST_SUBDIR)/gmp/.libs -L$$r/$(HOST_SUBDIR)/gmp/_libs '"$gmplibs"
-   gmpinc='-I$$r/$(HOST_SUBDIR)/gmp -I$$s/gmp '"$gmpinc"
-+  extra_mpfr_configure_flags='--with-gmp-build=$$r/$(HOST_SUBDIR)/gmp'
-   # Do not test the gmp version.  Assume that it is sufficient, since
-   # it is in the source tree, and the library has not been built yet
-   # but it would be included on the link line in the version check below
-@@ -4810,6 +4811,7 @@
- 
- 
- 
-+
- # Allow host libstdc++ to be specified for static linking with PPL.
- 
- # Check whether --with-host-libstdcxx or --without-host-libstdcxx was given.
-@@ -13251,6 +13253,7 @@
- s, at do_compare@,$do_compare,;t t
- s, at gmplibs@,$gmplibs,;t t
- s, at gmpinc@,$gmpinc,;t t
-+s, at extra_mpfr_configure_flags@,$extra_mpfr_configure_flags,;t t
- s, at ppllibs@,$ppllibs,;t t
- s, at pplinc@,$pplinc,;t t
- s, at clooglibs@,$clooglibs,;t t
-Index: Makefile.in
-===================================================================
---- Makefile.in	(.../tags/gcc_4_4_0_release)	(wersja 149828)
-+++ Makefile.in	(.../branches/gcc-4_4-branch)	(wersja 149828)
-@@ -17068,7 +17068,7 @@
- 	libsrcdir="$$s/mpfr"; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \
--	  --target=none-${host_vendor}-${host_os} $${srcdiroption} --disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp \
-+	  --target=none-${host_vendor}-${host_os} $${srcdiroption} --disable-shared @extra_mpfr_configure_flags@ \
- 	  || exit 1
- @endif mpfr
- 
-@@ -17101,7 +17101,7 @@
- 	  $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \
- 	  --target=none-${host_vendor}-${host_os} $${srcdiroption} \
- 	   \
--	  --disable-intermodule $(STAGE1_CHECKING) 	  --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" --disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp
-+	  --disable-intermodule $(STAGE1_CHECKING) 	  --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" --disable-shared @extra_mpfr_configure_flags@
- @endif mpfr-bootstrap
- 
- .PHONY: configure-stage2-mpfr maybe-configure-stage2-mpfr
-@@ -17132,7 +17132,7 @@
- 	  $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \
- 	  --target=none-${host_vendor}-${host_os} $${srcdiroption} \
- 	  --with-build-libsubdir=$(HOST_SUBDIR) \
--	  @stage2_werror_flag@ --disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp
-+	  @stage2_werror_flag@ --disable-shared @extra_mpfr_configure_flags@
- @endif mpfr-bootstrap
- 
- .PHONY: configure-stageb2g0-mpfr maybe-configure-stageb2g0-mpfr
-@@ -17163,7 +17163,7 @@
- 	  $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \
- 	  --target=none-${host_vendor}-${host_os} $${srcdiroption} \
- 	  --with-build-libsubdir=$(HOST_SUBDIR) \
--	  @stage2_werror_flag@ --disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp
-+	  @stage2_werror_flag@ --disable-shared @extra_mpfr_configure_flags@
- @endif mpfr-bootstrap
- 
- .PHONY: configure-stage3-mpfr maybe-configure-stage3-mpfr
-@@ -17194,7 +17194,7 @@
- 	  $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \
- 	  --target=none-${host_vendor}-${host_os} $${srcdiroption} \
- 	  --with-build-libsubdir=$(HOST_SUBDIR) \
--	  @stage2_werror_flag@ --disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp
-+	  @stage2_werror_flag@ --disable-shared @extra_mpfr_configure_flags@
- @endif mpfr-bootstrap
- 
- .PHONY: configure-stageb3g2-mpfr maybe-configure-stageb3g2-mpfr
-@@ -17225,7 +17225,7 @@
- 	  $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \
- 	  --target=none-${host_vendor}-${host_os} $${srcdiroption} \
- 	  --with-build-libsubdir=$(HOST_SUBDIR) \
--	  @stage2_werror_flag@ --disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp
-+	  @stage2_werror_flag@ --disable-shared @extra_mpfr_configure_flags@
- @endif mpfr-bootstrap
- 
- .PHONY: configure-stage4-mpfr maybe-configure-stage4-mpfr
-@@ -17256,7 +17256,7 @@
- 	  $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \
- 	  --target=none-${host_vendor}-${host_os} $${srcdiroption} \
- 	  --with-build-libsubdir=$(HOST_SUBDIR) \
--	  @stage2_werror_flag@ --disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp
-+	  @stage2_werror_flag@ --disable-shared @extra_mpfr_configure_flags@
- @endif mpfr-bootstrap
- 
- .PHONY: configure-stageprofile-mpfr maybe-configure-stageprofile-mpfr
-@@ -17287,7 +17287,7 @@
- 	  $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \
- 	  --target=none-${host_vendor}-${host_os} $${srcdiroption} \
- 	  --with-build-libsubdir=$(HOST_SUBDIR) \
--	  @stage2_werror_flag@ --disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp
-+	  @stage2_werror_flag@ --disable-shared @extra_mpfr_configure_flags@
- @endif mpfr-bootstrap
- 
- .PHONY: configure-stagefeedback-mpfr maybe-configure-stagefeedback-mpfr
-@@ -17318,7 +17318,7 @@
- 	  $(HOST_CONFIGARGS) --build=${build_alias} --host=none-${host_vendor}-${host_os} \
- 	  --target=none-${host_vendor}-${host_os} $${srcdiroption} \
- 	  --with-build-libsubdir=$(HOST_SUBDIR) \
--	  @stage2_werror_flag@ --disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp
-+	  @stage2_werror_flag@ --disable-shared @extra_mpfr_configure_flags@
- @endif mpfr-bootstrap
- 
- 
-Index: libgomp/team.c
-===================================================================
---- libgomp/team.c	(.../tags/gcc_4_4_0_release)	(wersja 149828)
-+++ libgomp/team.c	(.../branches/gcc-4_4-branch)	(wersja 149828)
-@@ -125,6 +125,7 @@
-       while (local_fn);
-     }
- 
-+  gomp_sem_destroy (&thr->release);
-   return NULL;
- }
- 
-@@ -201,6 +202,7 @@
-   struct gomp_thread_pool *pool
-     = (struct gomp_thread_pool *) thread_pool;
-   gomp_barrier_wait_last (&pool->threads_dock);
-+  gomp_sem_destroy (&gomp_thread ()->release);
-   pthread_exit (NULL);
- }
- 
-Index: libgomp/ChangeLog
-===================================================================
---- libgomp/ChangeLog	(.../tags/gcc_4_4_0_release)	(wersja 149828)
-+++ libgomp/ChangeLog	(.../branches/gcc-4_4-branch)	(wersja 149828)
-@@ -1,3 +1,9 @@
-+2009-05-20  Jakub Jelinek  <jakub at redhat.com>
-+
-+	PR libgomp/40174
-+	* team.c (gomp_thread_start): Destroy thr->release semaphore.
-+	(gomp_free_pool_helper): Likewise.
-+
- 2009-04-21  Release Manager
- 
- 	* GCC 4.4.0 released.
-Index: gcc/tree-vrp.c
-===================================================================
---- gcc/tree-vrp.c	(.../tags/gcc_4_4_0_release)	(wersja 149828)
-+++ gcc/tree-vrp.c	(.../branches/gcc-4_4-branch)	(wersja 149828)
-@@ -5682,6 +5682,14 @@
-   tree ret;
-   bool only_ranges;
- 
-+  /* Some passes and foldings leak constants with overflow flag set
-+     into the IL.  Avoid doing wrong things with these and bail out.  */
-+  if ((TREE_CODE (op0) == INTEGER_CST
-+       && TREE_OVERFLOW (op0))
-+      || (TREE_CODE (op1) == INTEGER_CST
-+	  && TREE_OVERFLOW (op1)))
-+    return NULL_TREE;
-+
-   sop = false;
-   ret = vrp_evaluate_conditional_warnv_with_ops (code, op0, op1, true, &sop,
-   						 &only_ranges);
-Index: gcc/fwprop.c
-===================================================================
---- gcc/fwprop.c	(.../tags/gcc_4_4_0_release)	(wersja 149828)
-+++ gcc/fwprop.c	(.../branches/gcc-4_4-branch)	(wersja 149828)
-@@ -1,5 +1,5 @@
- /* RTL-based forward propagation pass for GNU compiler.
--   Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-+   Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
-    Contributed by Paolo Bonzini and Steven Bosscher.
- 
- This file is part of GCC.
-@@ -852,6 +852,80 @@
-     return false;
- }
- 
-+/* Try to replace USE with SRC (defined in DEF_INSN) in __asm.  */
-+
-+static bool
-+forward_propagate_asm (df_ref use, rtx def_insn, rtx def_set, rtx reg)
-+{
-+  rtx use_insn = DF_REF_INSN (use), src, use_pat, asm_operands, new_rtx, *loc;
-+  int speed_p, i;
-+  df_ref *use_vec;
-+
-+  gcc_assert ((DF_REF_FLAGS (use) & DF_REF_IN_NOTE) == 0);
-+
-+  src = SET_SRC (def_set);
-+  use_pat = PATTERN (use_insn);
-+
-+  /* In __asm don't replace if src might need more registers than
-+     reg, as that could increase register pressure on the __asm.  */
-+  use_vec = DF_INSN_USES (def_insn);
-+  if (use_vec[0] && use_vec[1])
-+    return false;
-+
-+  speed_p = optimize_bb_for_speed_p (BLOCK_FOR_INSN (use_insn));
-+  asm_operands = NULL_RTX;
-+  switch (GET_CODE (use_pat))
-+    {
-+    case ASM_OPERANDS:
-+      asm_operands = use_pat;
-+      break;
-+    case SET:
-+      if (MEM_P (SET_DEST (use_pat)))
-+	{
-+	  loc = &SET_DEST (use_pat);
-+	  new_rtx = propagate_rtx (*loc, GET_MODE (*loc), reg, src, speed_p);
-+	  if (new_rtx)
-+	    validate_unshare_change (use_insn, loc, new_rtx, true);
-+	}
-+      asm_operands = SET_SRC (use_pat);
-+      break;
-+    case PARALLEL:
-+      for (i = 0; i < XVECLEN (use_pat, 0); i++)
-+	if (GET_CODE (XVECEXP (use_pat, 0, i)) == SET)
-+	  {
-+	    if (MEM_P (SET_DEST (XVECEXP (use_pat, 0, i))))
-+	      {
-+		loc = &SET_DEST (XVECEXP (use_pat, 0, i));
-+		new_rtx = propagate_rtx (*loc, GET_MODE (*loc), reg,
-+					 src, speed_p);
-+		if (new_rtx)
-+		  validate_unshare_change (use_insn, loc, new_rtx, true);
-+	      }
-+	    asm_operands = SET_SRC (XVECEXP (use_pat, 0, i));
-+	  }
-+	else if (GET_CODE (XVECEXP (use_pat, 0, i)) == ASM_OPERANDS)
-+	  asm_operands = XVECEXP (use_pat, 0, i);
-+      break;
-+    default:
-+      gcc_unreachable ();
-+    }
-+
-+  gcc_assert (asm_operands && GET_CODE (asm_operands) == ASM_OPERANDS);
-+  for (i = 0; i < ASM_OPERANDS_INPUT_LENGTH (asm_operands); i++)
-+    {
-+      loc = &ASM_OPERANDS_INPUT (asm_operands, i);
-+      new_rtx = propagate_rtx (*loc, GET_MODE (*loc), reg, src, speed_p);
-+      if (new_rtx)
-+	validate_unshare_change (use_insn, loc, new_rtx, true);
-+    }
-+
-+  if (num_changes_pending () == 0 || !apply_change_group ())
-+    return false;
-+
-+  num_changes++;
-+  return true;
-+}
-+
- /* Try to replace USE with SRC (defined in DEF_INSN) and simplify the
-    result.  */
- 
-@@ -863,12 +937,16 @@
-   rtx src, reg, new_rtx, *loc;
-   bool set_reg_equal;
-   enum machine_mode mode;
-+  int asm_use = -1;
- 
--  if (!use_set)
-+  if (INSN_CODE (use_insn) < 0)
-+    asm_use = asm_noperands (PATTERN (use_insn));
-+
-+  if (!use_set && asm_use < 0)
-     return false;
- 
-   /* Do not propagate into PC, CC0, etc.  */
--  if (GET_MODE (SET_DEST (use_set)) == VOIDmode)
-+  if (use_set && GET_MODE (SET_DEST (use_set)) == VOIDmode)
-     return false;
- 
-   /* If def and use are subreg, check if they match.  */
-@@ -900,7 +978,7 @@
-   if (MEM_P (src) && MEM_READONLY_P (src))
-     {
-       rtx x = avoid_constant_pool_reference (src);
--      if (x != src)
-+      if (x != src && use_set)
- 	{
-           rtx note = find_reg_note (use_insn, REG_EQUAL, NULL_RTX);
- 	  rtx old_rtx = note ? XEXP (note, 0) : SET_SRC (use_set);
-@@ -911,6 +989,9 @@
-       return false;
-     }
- 
-+  if (asm_use >= 0)
-+    return forward_propagate_asm (use, def_insn, def_set, reg);
-+
-   /* Else try simplifying.  */
- 
-   if (DF_REF_TYPE (use) == DF_REF_REG_MEM_STORE)
-Index: gcc/doc/extend.texi
-===================================================================
---- gcc/doc/extend.texi	(.../tags/gcc_4_4_0_release)	(wersja 149828)
-+++ gcc/doc/extend.texi	(.../branches/gcc-4_4-branch)	(wersja 149828)
-@@ -914,8 +914,7 @@
- @end smallexample
- 
- Not all targets support additional floating point types.  @code{__float80}
--is supported on i386, x86_64 and ia64 targets and target @code{__float128}
--is supported on x86_64 and ia64 targets.
-+and @code{__float128} types are supported on i386, x86_64 and ia64 targets.
- 
- @node Decimal Float
- @section Decimal Floating Types
-@@ -8304,6 +8303,7 @@
- @item unsigned int __builtin_ia32_crc32si (unsigned int, unsigned int)
- Generates the @code{crc32l} machine instruction.
- @item unsigned long long __builtin_ia32_crc32di (unsigned long long, unsigned long long)
-+Generates the @code{crc32q} machine instruction.
- @end table
- 
- The following built-in functions are changed to generate new SSE4.2
-Index: gcc/doc/passes.texi
-===================================================================
---- gcc/doc/passes.texi	(.../tags/gcc_4_4_0_release)	(wersja 149828)
-+++ gcc/doc/passes.texi	(.../branches/gcc-4_4-branch)	(wersja 149828)
-@@ -21,7 +21,7 @@
- * Parsing pass::         The language front end turns text into bits.
- * Gimplification pass::  The bits are turned into something we can optimize.
- * Pass manager::         Sequencing the optimization passes.
--* Tree-SSA passes::      Optimizations on a high-level representation.
-+* Tree SSA passes::      Optimizations on a high-level representation.
- * RTL passes::           Optimizations on a low-level representation.
- @end menu
- 
-@@ -94,8 +94,8 @@
- should be passed to @code{cgraph_finalize_function}.
- 
- TODO: I know rest_of_compilation currently has all sorts of
--rtl-generation semantics.  I plan to move all code generation
--bits (both tree and rtl) to compile_function.  Should we hide
-+RTL generation semantics.  I plan to move all code generation
-+bits (both Tree and RTL) to compile_function.  Should we hide
- cgraph from the front ends and move back to rest_of_compilation
- as the official interface?  Possibly we should rename all three
- interfaces such that the names match in some meaningful way and
-@@ -172,12 +172,12 @@
- 
- TODO: describe the global variables set up by the pass manager,
- and a brief description of how a new pass should use it.
--I need to look at what info rtl passes use first at enddots{}
-+I need to look at what info RTL passes use first at enddots{}
- 
-- at node Tree-SSA passes
-- at section Tree-SSA passes
-+ at node Tree SSA passes
-+ at section Tree SSA passes
- 
--The following briefly describes the tree optimization passes that are
-+The following briefly describes the Tree optimization passes that are
- run after gimplification and what source files they are located in.
- 
- @itemize @bullet
-@@ -401,7 +401,7 @@
- The optimizations performed by this pass are:
- 
- Loop invariant motion.  This pass moves only invariants that
--would be hard to handle on rtl level (function calls, operations that expand to
-+would be hard to handle on RTL level (function calls, operations that expand to
- nontrivial sequences of insns).  With @option{-funswitch-loops} it also moves
- operands of conditions that are invariant out of the loop, so that we can use
- just trivial invariantness analysis in loop unswitching.  The pass also includes
-@@ -422,8 +422,8 @@
- out of the loops.  To achieve this, a duplicate of the loop is created for
- each possible outcome of conditional jump(s).  The pass is implemented in
- @file{tree-ssa-loop-unswitch.c}.  This pass should eventually replace the
--rtl-level loop unswitching in @file{loop-unswitch.c}, but currently
--the rtl-level pass is not completely redundant yet due to deficiencies
-+RTL level loop unswitching in @file{loop-unswitch.c}, but currently
-+the RTL level pass is not completely redundant yet due to deficiencies
- in tree level alias analysis.
- 
- The optimizations also use various utility functions contained in
-@@ -651,8 +651,8 @@
- @node RTL passes
- @section RTL passes
- 
--The following briefly describes the rtl generation and optimization
--passes that are run after tree optimization.
-+The following briefly describes the RTL generation and optimization
-+passes that are run after the Tree optimization passes.
- 
- @itemize @bullet
- @item RTL generation
-@@ -679,15 +679,15 @@
- and @code{gencodes}, tell this pass which standard names are available
- for use and which patterns correspond to them.
- 
-- at item Generate exception handling landing pads
-+ at item Generation of exception landing pads
- 
- This pass generates the glue that handles communication between the
- exception handling library routines and the exception handlers within
- the function.  Entry points in the function that are invoked by the
- exception handling library are called @dfn{landing pads}.  The code
--for this pass is located within @file{except.c}.
-+for this pass is located in @file{except.c}.
- 
-- at item Cleanup control flow graph
-+ at item Control flow graph cleanup
- 
- This pass removes unreachable code, simplifies jumps to next, jumps to
- jump, jumps across jumps, etc.  The pass is run multiple times.
-@@ -702,16 +702,16 @@
- variables that come from a single definition, and
- seeing if the result can be simplified.  It performs copy propagation
- and addressing mode selection.  The pass is run twice, with values
--being propagated into loops only on the second run.  It is located in
-- at file{fwprop.c}.
-+being propagated into loops only on the second run.  The code is
-+located in @file{fwprop.c}.
- 
- @item Common subexpression elimination
- 
- This pass removes redundant computation within basic blocks, and
- optimizes addressing modes based on cost.  The pass is run twice.
--The source is located in @file{cse.c}.
-+The code for this pass is located in @file{cse.c}.
- 
-- at item Global common subexpression elimination.
-+ at item Global common subexpression elimination
- 
- This pass performs two
- different types of GCSE  depending on whether you are optimizing for
-@@ -755,46 +755,37 @@
- assignments with arithmetic, boolean value producing comparison
- instructions, and conditional move instructions.  In the very last
- invocation after reload, it will generate predicated instructions
--when supported by the target.  The pass is located in @file{ifcvt.c}.
-+when supported by the target.  The code is located in @file{ifcvt.c}.
- 
- @item Web construction
- 
- This pass splits independent uses of each pseudo-register.  This can
- improve effect of the other transformation, such as CSE or register
--allocation.  Its source files are @file{web.c}.
-+allocation.  The code for this pass is located in @file{web.c}.
- 
-- at item Life analysis
--
--This pass computes which pseudo-registers are live at each point in
--the program, and makes the first instruction that uses a value point
--at the instruction that computed the value.  It then deletes
--computations whose results are never used, and combines memory
--references with add or subtract instructions to make autoincrement or
--autodecrement addressing.  The pass is located in @file{flow.c}.
--
- @item Instruction combination
- 
- This pass attempts to combine groups of two or three instructions that
- are related by data flow into single instructions.  It combines the
- RTL expressions for the instructions by substitution, simplifies the
- result using algebra, and then attempts to match the result against
--the machine description.  The pass is located in @file{combine.c}.
-+the machine description.  The code is located in @file{combine.c}.
- 
- @item Register movement
- 
- This pass looks for cases where matching constraints would force an
- instruction to need a reload, and this reload would be a
- register-to-register move.  It then attempts to change the registers
--used by the instruction to avoid the move instruction.
--The pass is located in @file{regmove.c}.
-+used by the instruction to avoid the move instruction.  The code is
-+located in @file{regmove.c}.
- 
-- at item Optimize mode switching
-+ at item Mode switching optimization
- 
- This pass looks for instructions that require the processor to be in a
- specific ``mode'' and minimizes the number of mode changes required to
- satisfy all users.  What these modes are, and what they apply to are
--completely target-specific.
--The source is located in @file{mode-switching.c}.
-+completely target-specific.  The code for this pass is located in
-+ at file{mode-switching.c}.
- 
- @cindex modulo scheduling
- @cindex sms, swing, software pipelining
-@@ -802,8 +793,8 @@
- 
- This pass looks at innermost loops and reorders their instructions
- by overlapping different iterations.  Modulo scheduling is performed
--immediately before instruction scheduling.
--The pass is located in (@file{modulo-sched.c}).
-+immediately before instruction scheduling.  The code for this pass is
-+located in @file{modulo-sched.c}.
- 
- @item Instruction scheduling
- 
-@@ -813,7 +804,7 @@
- It re-orders instructions within a basic block to try to separate the
- definition and use of items that otherwise would cause pipeline
- stalls.  This pass is performed twice, before and after register
--allocation.  The pass is located in @file{haifa-sched.c},
-+allocation.  The code for this pass is located in @file{haifa-sched.c},
- @file{sched-deps.c}, @file{sched-ebb.c}, @file{sched-rgn.c} and
- @file{sched-vis.c}.
- 
-@@ -884,13 +875,13 @@
- position in code and generates notes describing the variable locations
- to RTL code.  The location lists are then generated according to these
- notes to debug information if the debugging information format supports
--location lists.
-+location lists.  The code is located in @file{var-tracking.c}.
- 
- @item Delayed branch scheduling
- 
- This optional pass attempts to find instructions that can go into the
--delay slots of other instructions, usually jumps and calls.  The
--source file name is @file{reorg.c}.
-+delay slots of other instructions, usually jumps and calls.  The code
-+for this pass is located in @file{reorg.c}.
- 
- @item Branch shortening
- 
-@@ -899,13 +890,14 @@
- In this pass, the compiler figures out what how far each instruction
- will be from each other instruction, and therefore whether the usual
- instructions, or the longer sequences, must be used for each branch.
-+The code for this pass is located in @file{final.c}.
- 
- @item Register-to-stack conversion
- 
- Conversion from usage of some hard registers to usage of a register
- stack may be done at this point.  Currently, this is supported only
--for the floating-point registers of the Intel 80387 coprocessor.   The
--source file name is @file{reg-stack.c}.
-+for the floating-point registers of the Intel 80387 coprocessor.  The
-+code for this pass is located in @file{reg-stack.c}.
- 
- @item Final
- 
-Index: gcc/doc/gccint.texi
-===================================================================
---- gcc/doc/gccint.texi	(.../tags/gcc_4_4_0_release)	(wersja 149828)
-+++ gcc/doc/gccint.texi	(.../branches/gcc-4_4-branch)	(wersja 149828)
-@@ -109,10 +109,10 @@
- * Options::         Option specification files.
- * Passes::          Order of passes, what they do, and what each file is for.
- * Trees::           The source representation used by the C and C++ front ends.
--* RTL::             The intermediate representation that most passes work on.
- * GENERIC::         Language-independent representation generated by Front Ends
- * GIMPLE::          Tuple representation used by Tree SSA optimizers
- * Tree SSA::        Analysis and optimization of GIMPLE
-+* RTL::             Machine-dependent low-level intermediate representation.
- * Control Flow::    Maintaining and manipulating the control flow graph.
- * Loop Analysis and Representation:: Analysis and representation of loops
- * Machine Desc::    How to write machine description instruction patterns.
-Index: gcc/doc/tm.texi
-===================================================================
---- gcc/doc/tm.texi	(.../tags/gcc_4_4_0_release)	(wersja 149828)
-+++ gcc/doc/tm.texi	(.../branches/gcc-4_4-branch)	(wersja 149828)
-@@ -1227,6 +1227,14 @@
- make it all fit in fewer cache lines.
- @end defmac
- 
-+ at defmac MINIMUM_ALIGNMENT (@var{exp}, @var{mode}, @var{align})
-+If defined, a C expression to compute the minimum required alignment
-+for dynamic stack realignment purposes for @var{exp} (a type or decl),
-+ at var{mode}, assuming normal alignment @var{align}.
-+
-+If this macro is not defined, then @var{align} will be used.
-+ at end defmac
-+
- @defmac EMPTY_FIELD_BOUNDARY
- Alignment in bits to be given to a structure bit-field that follows an
- empty field such as @code{int : 0;}.
-Index: gcc/doc/md.texi
-===================================================================
---- gcc/doc/md.texi	(.../tags/gcc_4_4_0_release)	(wersja 149828)
-+++ gcc/doc/md.texi	(.../branches/gcc-4_4-branch)	(wersja 149828)
-@@ -5111,8 +5111,6 @@
- Operand 0 is the memory on which the atomic operation is performed.
- Operand 1 is the second operand to the binary operator.
- 
<<Diff was trimmed, longer than 597 lines>>

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/gcc/gcc-branch.diff?r1=1.17&r2=1.18&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/gcc/gcc.spec?r1=1.582&r2=1.583&f=u



More information about the pld-cvs-commit mailing list