packages: gcc/gcc-branch.diff, gcc/gcc.spec - rel 5; branch diff updated; p...

arekm arekm at pld-linux.org
Tue Nov 16 09:53:15 CET 2010


Author: arekm                        Date: Tue Nov 16 08:53:15 2010 GMT
Module: packages                      Tag: HEAD
---- Log message:
- rel 5; branch diff updated; python-pretty-printer-bool-vector.patch dropped (unneded says pluto)

---- Files affected:
packages/gcc:
   gcc-branch.diff (1.38 -> 1.39) , gcc.spec (1.642 -> 1.643) 

---- Diffs:

================================================================
Index: packages/gcc/gcc-branch.diff
diff -u packages/gcc/gcc-branch.diff:1.38 packages/gcc/gcc-branch.diff:1.39
--- packages/gcc/gcc-branch.diff:1.38	Fri Oct 15 20:04:16 2010
+++ packages/gcc/gcc-branch.diff	Tue Nov 16 09:53:09 2010
@@ -1,7 +1,7 @@
 Index: configure
 ===================================================================
---- configure	(.../tags/gcc_4_5_1_release)	(wersja 165515)
-+++ configure	(.../branches/gcc-4_5-branch)	(wersja 165515)
+--- configure	(.../tags/gcc_4_5_1_release)	(wersja 166792)
++++ configure	(.../branches/gcc-4_5-branch)	(wersja 166792)
 @@ -3097,7 +3097,7 @@
      # Check for target supported by gold.
      case "${target}" in
@@ -22,8 +22,8 @@
    # it is in the source tree, and the library has not been built yet
 Index: libgcc/config.host
 ===================================================================
---- libgcc/config.host	(.../tags/gcc_4_5_1_release)	(wersja 165515)
-+++ libgcc/config.host	(.../branches/gcc-4_5-branch)	(wersja 165515)
+--- libgcc/config.host	(.../tags/gcc_4_5_1_release)	(wersja 166792)
++++ libgcc/config.host	(.../branches/gcc-4_5-branch)	(wersja 166792)
 @@ -345,6 +345,8 @@
  	tmake_file="ia64/t-ia64"
  	;;
@@ -35,8 +35,8 @@
  	extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
 Index: libgcc/ChangeLog
 ===================================================================
---- libgcc/ChangeLog	(.../tags/gcc_4_5_1_release)	(wersja 165515)
-+++ libgcc/ChangeLog	(.../branches/gcc-4_5-branch)	(wersja 165515)
+--- libgcc/ChangeLog	(.../tags/gcc_4_5_1_release)	(wersja 166792)
++++ libgcc/ChangeLog	(.../branches/gcc-4_5-branch)	(wersja 166792)
 @@ -1,3 +1,9 @@
 +2010-09-12  Gerald Pfeifer  <gerald at pfeifer.com>
 +	    Andrew Pinski  <pinskia at gmail.com>
@@ -49,8 +49,8 @@
  	* GCC 4.5.1 released.
 Index: gcc/doc/sourcebuild.texi
 ===================================================================
---- gcc/doc/sourcebuild.texi	(.../tags/gcc_4_5_1_release)	(wersja 165515)
-+++ gcc/doc/sourcebuild.texi	(.../branches/gcc-4_5-branch)	(wersja 165515)
+--- gcc/doc/sourcebuild.texi	(.../tags/gcc_4_5_1_release)	(wersja 166792)
++++ gcc/doc/sourcebuild.texi	(.../branches/gcc-4_5-branch)	(wersja 166792)
 @@ -1679,6 +1679,11 @@
  @item pthread_h
  Target has @code{pthread.h}.
@@ -65,8 +65,8 @@
  hardware (i.e. fast).
 Index: gcc/doc/extend.texi
 ===================================================================
---- gcc/doc/extend.texi	(.../tags/gcc_4_5_1_release)	(wersja 165515)
-+++ gcc/doc/extend.texi	(.../branches/gcc-4_5-branch)	(wersja 165515)
+--- gcc/doc/extend.texi	(.../tags/gcc_4_5_1_release)	(wersja 166792)
++++ gcc/doc/extend.texi	(.../branches/gcc-4_5-branch)	(wersja 166792)
 @@ -1345,9 +1345,7 @@
  @cindex VLAs
  
@@ -80,8 +80,8 @@
  declaration and deallocated when the brace-level is exited.  For
 Index: gcc/doc/invoke.texi
 ===================================================================
---- gcc/doc/invoke.texi	(.../tags/gcc_4_5_1_release)	(wersja 165515)
-+++ gcc/doc/invoke.texi	(.../branches/gcc-4_5-branch)	(wersja 165515)
+--- gcc/doc/invoke.texi	(.../tags/gcc_4_5_1_release)	(wersja 166792)
++++ gcc/doc/invoke.texi	(.../branches/gcc-4_5-branch)	(wersja 166792)
 @@ -5776,7 +5776,8 @@
  Optimize yet more.  @option{-O3} turns on all optimizations specified
  by @option{-O2} and also turns on the @option{-finline-functions},
@@ -92,10 +92,36 @@
  
  @item -O0
  @opindex O0
+Index: gcc/ira-conflicts.c
+===================================================================
+--- gcc/ira-conflicts.c	(.../tags/gcc_4_5_1_release)	(wersja 166792)
++++ gcc/ira-conflicts.c	(.../branches/gcc-4_5-branch)	(wersja 166792)
+@@ -825,6 +825,21 @@
+ 	  IOR_HARD_REG_SET (ALLOCNO_CONFLICT_HARD_REGS (a),
+ 			    temp_hard_reg_set);
+ 	}
++
++      if (ALLOCNO_CALLS_CROSSED_NUM (a) != 0)
++	{
++	  int regno;
++
++	  /* Allocnos bigger than the saved part of call saved
++	     regs must conflict with them.  */
++	  for (regno = 0; regno < FIRST_PSEUDO_REGISTER; regno++)
++	    if (!TEST_HARD_REG_BIT (call_used_reg_set, regno)
++		&& HARD_REGNO_CALL_PART_CLOBBERED (regno, a->mode))
++	      {
++		SET_HARD_REG_BIT (ALLOCNO_CONFLICT_HARD_REGS (a), regno);
++		SET_HARD_REG_BIT (ALLOCNO_TOTAL_CONFLICT_HARD_REGS (a), regno);
++	      }
++	}
+     }
+   if (optimize && ira_conflicts_p
+       && internal_flag_ira_verbose > 2 && ira_dump_file != NULL)
 Index: gcc/tree-complex.c
 ===================================================================
---- gcc/tree-complex.c	(.../tags/gcc_4_5_1_release)	(wersja 165515)
-+++ gcc/tree-complex.c	(.../branches/gcc-4_5-branch)	(wersja 165515)
+--- gcc/tree-complex.c	(.../tags/gcc_4_5_1_release)	(wersja 166792)
++++ gcc/tree-complex.c	(.../branches/gcc-4_5-branch)	(wersja 166792)
 @@ -665,12 +665,16 @@
  update_complex_assignment (gimple_stmt_iterator *gsi, tree r, tree i)
  {
@@ -114,10 +140,102 @@
  }
  
  
+Index: gcc/tree-loop-distribution.c
+===================================================================
+--- gcc/tree-loop-distribution.c	(.../tags/gcc_4_5_1_release)	(wersja 166792)
++++ gcc/tree-loop-distribution.c	(.../branches/gcc-4_5-branch)	(wersja 166792)
+@@ -321,38 +321,6 @@
+   return res;
+ }
+ 
+-/* Propagate phis in BB b to their uses and remove them.  */
+-
+-static void
+-prop_phis (basic_block b)
+-{
+-  gimple_stmt_iterator psi;
+-  gimple_seq phis = phi_nodes (b);
+-
+-  for (psi = gsi_start (phis); !gsi_end_p (psi); )
+-    {
+-      gimple phi = gsi_stmt (psi);
+-      tree def = gimple_phi_result (phi), use = gimple_phi_arg_def (phi, 0);
+-
+-      gcc_assert (gimple_phi_num_args (phi) == 1);
+-
+-      if (!is_gimple_reg (def))
+-	{
+-	  imm_use_iterator iter;
+-	  use_operand_p use_p;
+-	  gimple stmt;
+-
+-	  FOR_EACH_IMM_USE_STMT (stmt, iter, def)
+-	    FOR_EACH_IMM_USE_ON_STMT (use_p, iter)
+-	      SET_USE (use_p, use);
+-	}
+-      else
+-	replace_uses_by (def, use);
+-
+-      remove_phi_node (&psi, true);
+-    }
+-}
+-
+ /* Tries to generate a builtin function for the instructions of LOOP
+    pointed to by the bits set in PARTITION.  Returns true when the
+    operation succeeded.  */
+@@ -422,11 +390,13 @@
+   if (res && !copy_p)
+     {
+       unsigned nbbs = loop->num_nodes;
+-      basic_block src = loop_preheader_edge (loop)->src;
+-      basic_block dest = single_exit (loop)->dest;
+-      prop_phis (dest);
+-      make_edge (src, dest, EDGE_FALLTHRU);
++      edge exit = single_exit (loop);
++      basic_block src = loop_preheader_edge (loop)->src, dest = exit->dest;
++      redirect_edge_pred (exit, src);
++      exit->flags &= ~(EDGE_TRUE_VALUE|EDGE_FALSE_VALUE);
++      exit->flags |= EDGE_FALLTHRU;
+       cancel_loop_tree (loop);
++      rescan_loop_exit (exit, false, true);
+ 
+       for (i = 0; i < nbbs; i++)
+ 	delete_basic_block (bbs[i]);
+@@ -1192,8 +1162,13 @@
+ 
+   FOR_EACH_LOOP (li, loop, 0)
+     {
+-      VEC (gimple, heap) *work_list = VEC_alloc (gimple, heap, 3);
++      VEC (gimple, heap) *work_list = NULL;
+ 
++      /* If the loop doesn't have a single exit we will fail anyway,
++	 so do that early.  */
++      if (!single_exit (loop))
++	continue;
++
+       /* With the following working list, we're asking distribute_loop
+ 	 to separate the stores of the loop: when dependences allow,
+ 	 it will end on having one store per loop.  */
+Index: gcc/cfgloopmanip.c
+===================================================================
+--- gcc/cfgloopmanip.c	(.../tags/gcc_4_5_1_release)	(wersja 166792)
++++ gcc/cfgloopmanip.c	(.../branches/gcc-4_5-branch)	(wersja 166792)
+@@ -1538,7 +1538,10 @@
+   /* Duplicate loop.  */
+   if (!cfg_hook_duplicate_loop_to_header_edge (loop, entry, 1,
+ 					       NULL, NULL, NULL, 0))
+-    return NULL;
++    {
++      entry->flags |= irred_flag;
++      return NULL;
++    }
+ 
+   /* After duplication entry edge now points to new loop head block.
+      Note down new head as second_head.  */
 Index: gcc/optabs.c
 ===================================================================
---- gcc/optabs.c	(.../tags/gcc_4_5_1_release)	(wersja 165515)
-+++ gcc/optabs.c	(.../branches/gcc-4_5-branch)	(wersja 165515)
+--- gcc/optabs.c	(.../tags/gcc_4_5_1_release)	(wersja 166792)
++++ gcc/optabs.c	(.../branches/gcc-4_5-branch)	(wersja 166792)
 @@ -7033,6 +7033,7 @@
    if (icode == CODE_FOR_nothing)
      return NULL_RTX;
@@ -128,15 +246,15 @@
        start_sequence ();
 Index: gcc/DATESTAMP
 ===================================================================
---- gcc/DATESTAMP	(.../tags/gcc_4_5_1_release)	(wersja 165515)
-+++ gcc/DATESTAMP	(.../branches/gcc-4_5-branch)	(wersja 165515)
+--- gcc/DATESTAMP	(.../tags/gcc_4_5_1_release)	(wersja 166792)
++++ gcc/DATESTAMP	(.../branches/gcc-4_5-branch)	(wersja 166792)
 @@ -1 +1 @@
 -20100731
-+20101015
++20101116
 Index: gcc/postreload.c
 ===================================================================
---- gcc/postreload.c	(.../tags/gcc_4_5_1_release)	(wersja 165515)
-+++ gcc/postreload.c	(.../branches/gcc-4_5-branch)	(wersja 165515)
+--- gcc/postreload.c	(.../tags/gcc_4_5_1_release)	(wersja 166792)
++++ gcc/postreload.c	(.../branches/gcc-4_5-branch)	(wersja 166792)
 @@ -810,7 +810,7 @@
  	  rtx reg = SET_DEST (set);
  	  rtx plus = SET_SRC (set);
@@ -155,10 +273,29 @@
  		  rtx set = NULL_RTX;
  		  if (next)
  		    set = single_set (next);
+Index: gcc/tree.h
+===================================================================
+--- gcc/tree.h	(.../tags/gcc_4_5_1_release)	(wersja 166792)
++++ gcc/tree.h	(.../branches/gcc-4_5-branch)	(wersja 166792)
+@@ -2578,9 +2578,11 @@
+   (FUNCTION_DECL_CHECK (NODE)->function_decl.personality)
+ 
+ /* Nonzero for a given ..._DECL node means that the name of this node should
+-   be ignored for symbolic debug purposes.  Moreover, for a FUNCTION_DECL,
+-   the body of the function should also be ignored.  */
+-#define DECL_IGNORED_P(NODE) (DECL_COMMON_CHECK (NODE)->decl_common.ignored_flag)
++   be ignored for symbolic debug purposes.  For a TYPE_DECL, this means that
++   the associated type should be ignored.  For a FUNCTION_DECL, the body of
++   the function should also be ignored.  */
++#define DECL_IGNORED_P(NODE) \
++  (DECL_COMMON_CHECK (NODE)->decl_common.ignored_flag)
+ 
+ /* Nonzero for a given ..._DECL node means that this node represents an
+    "abstract instance" of the given declaration (e.g. in the original
 Index: gcc/rtlanal.c
 ===================================================================
---- gcc/rtlanal.c	(.../tags/gcc_4_5_1_release)	(wersja 165515)
-+++ gcc/rtlanal.c	(.../branches/gcc-4_5-branch)	(wersja 165515)
+--- gcc/rtlanal.c	(.../tags/gcc_4_5_1_release)	(wersja 166792)
++++ gcc/rtlanal.c	(.../branches/gcc-4_5-branch)	(wersja 166792)
 @@ -4755,9 +4755,7 @@
  	 stop if it isn't a single set or if it has a REG_INC note because
  	 we don't want to bother dealing with it.  */
@@ -172,8 +309,8 @@
  	  || !NONJUMP_INSN_P (prev)
 Index: gcc/configure
 ===================================================================
---- gcc/configure	(.../tags/gcc_4_5_1_release)	(wersja 165515)
-+++ gcc/configure	(.../branches/gcc-4_5-branch)	(wersja 165515)
+--- gcc/configure	(.../tags/gcc_4_5_1_release)	(wersja 166792)
++++ gcc/configure	(.../branches/gcc-4_5-branch)	(wersja 166792)
 @@ -25454,27 +25454,58 @@
  
  
@@ -266,8 +403,8 @@
    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 Index: gcc/builtins.c
 ===================================================================
---- gcc/builtins.c	(.../tags/gcc_4_5_1_release)	(wersja 165515)
-+++ gcc/builtins.c	(.../branches/gcc-4_5-branch)	(wersja 165515)
+--- gcc/builtins.c	(.../tags/gcc_4_5_1_release)	(wersja 166792)
++++ gcc/builtins.c	(.../branches/gcc-4_5-branch)	(wersja 166792)
 @@ -100,9 +100,9 @@
  static rtx expand_builtin_mathfn (tree, rtx, rtx);
  static rtx expand_builtin_mathfn_2 (tree, rtx, rtx);
@@ -394,8 +531,8 @@
  
 Index: gcc/fold-const.c
 ===================================================================
---- gcc/fold-const.c	(.../tags/gcc_4_5_1_release)	(wersja 165515)
-+++ gcc/fold-const.c	(.../branches/gcc-4_5-branch)	(wersja 165515)
+--- gcc/fold-const.c	(.../tags/gcc_4_5_1_release)	(wersja 166792)
++++ gcc/fold-const.c	(.../branches/gcc-4_5-branch)	(wersja 166792)
 @@ -4737,9 +4737,9 @@
  	  n_high = range_binop (MINUS_EXPR, exp_type,
  				build_int_cst (exp_type, 0),
@@ -417,10 +554,26 @@
  	  /* Check for an unsigned range which has wrapped around the maximum
  	     value thus making n_high < n_low, and normalize it.  */
  	  if (n_low && n_high && tree_int_cst_lt (n_high, n_low))
+@@ -12096,8 +12097,14 @@
+ 	  if (integer_pow2p (sval) && tree_int_cst_sgn (sval) > 0)
+ 	    {
+ 	      tree sh_cnt = TREE_OPERAND (arg1, 1);
+-	      unsigned long pow2 = exact_log2 (TREE_INT_CST_LOW (sval));
++	      unsigned long pow2;
+ 
++	      if (TREE_INT_CST_LOW (sval))
++		pow2 = exact_log2 (TREE_INT_CST_LOW (sval));
++	      else
++		pow2 = exact_log2 (TREE_INT_CST_HIGH (sval))
++		       + HOST_BITS_PER_WIDE_INT;
++
+ 	      if (strict_overflow_p)
+ 		fold_overflow_warning (("assuming signed overflow does not "
+ 					"occur when simplifying A / (B << N)"),
 Index: gcc/reorg.c
 ===================================================================
---- gcc/reorg.c	(.../tags/gcc_4_5_1_release)	(wersja 165515)
-+++ gcc/reorg.c	(.../branches/gcc-4_5-branch)	(wersja 165515)
+--- gcc/reorg.c	(.../tags/gcc_4_5_1_release)	(wersja 166792)
++++ gcc/reorg.c	(.../branches/gcc-4_5-branch)	(wersja 166792)
 @@ -3458,9 +3458,13 @@
  	     We do this by deleting the INSN containing the SEQUENCE, then
  	     re-emitting the insns separately, and then deleting the RETURN.
@@ -491,15 +644,247 @@
  	}
 Index: gcc/DEV-PHASE
 ===================================================================
---- gcc/DEV-PHASE	(.../tags/gcc_4_5_1_release)	(wersja 165515)
-+++ gcc/DEV-PHASE	(.../branches/gcc-4_5-branch)	(wersja 165515)
+--- gcc/DEV-PHASE	(.../tags/gcc_4_5_1_release)	(wersja 166792)
++++ gcc/DEV-PHASE	(.../branches/gcc-4_5-branch)	(wersja 166792)
 @@ -0,0 +1 @@
 +prerelease
 Index: gcc/ChangeLog
 ===================================================================
---- gcc/ChangeLog	(.../tags/gcc_4_5_1_release)	(wersja 165515)
-+++ gcc/ChangeLog	(.../branches/gcc-4_5-branch)	(wersja 165515)
-@@ -1,3 +1,714 @@
+--- gcc/ChangeLog	(.../tags/gcc_4_5_1_release)	(wersja 166792)
++++ gcc/ChangeLog	(.../branches/gcc-4_5-branch)	(wersja 166792)
+@@ -1,3 +1,946 @@
++2010-11-15  Jakub Jelinek  <jakub at redhat.com>
++
++	PR tree-optimization/46491
++	Backport from mainline
++
++	2010-05-14  Jan Hubicka  <jh at suse.cz>
++	* ipa-pure-const.c (check_stmt): Do not use memory_identifier_string.
++
++2010-11-12  Olivier Hainque  <hainque at adacore.com>
++
++	* config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Rewrite
++	switch on insn codes as sequence of ifs.
++
++2010-11-12  Alexander Monakov  <amonakov at ispras.ru>
++
++	Backport from mainline:
++	2010-08-19  Andrey Belevantsev  <abel at ispras.ru>
++
++	PR rtl-optimization/44691
++	* sel-sched.c (count_occurrences_1): Also punt when SUBREG_REG
++	is not a register.
++
++2010-11-12  Richard Guenther  <rguenther at suse.de>
++
++	Backport from mainline
++	2010-11-09  Richard Guenther  <rguenther at suse.de>
++
++	PR tree-optimization/46355
++	* tree-loop-distribution.c (tree_loop_distribution): Do not
++	distribute loops without a single exit.
++
++	2010-11-02  Richard Guenther  <rguenther at suse.de>
++
++	PR tree-optimization/46177
++	* tree-loop-distribution.c (prop_phis): Use
++	mark_virtual_phi_result_for_renaming.
++
++	2010-11-09  Richard Guenther  <rguenther at suse.de>
++
++	PR tree-optimization/46177
++	* tree-loop-distribution.c (prop_phis): Remove.
++	(generate_builtin): Re-use the old loop exit edge to avoid
++	needing to update PHI nodes.
++
++2010-11-11  Jakub Jelinek  <jakub at redhat.com>
++
++	Backport from mainline
++	2010-11-05  Jakub Jelinek  <jakub at redhat.com>
++
++	PR c/44772
++	* c-decl.c (warn_cxx_compat_finish_struct): Don't call
++	pointer_set_contains if DECL_NAME is NULL.
++
++	PR tree-optimization/46099
++	* tree-parloops.c (take_address_of): Add GSI argument.  Return NULL
++	if it is NULL and uid wasn't found in the hash table.  Just fold the
++	result if it is NULL otherwise.  Insert other potentially needed
++	stmts right before current stmt instead of on the entry edge.
++	(struct elv_data): Add gsi and reset fields.
++	(eliminate_local_variables_1): Adjust caller.  If take_address_of
++	failed for debug stmt, set dta->reset and return.
++	(eliminate_local_variables_stmt): Change STMT argument for GSI,
++	pass GSI through to the callback, handle resetting of debug stmts.
++	(eliminate_local_variables): Adjust caller.  Process debug stmts
++	in second phase.
++
++	PR middle-end/43690
++	* gimplify.c (gimplify_asm_expr): If a "m" input is a
++	{pre,post}{in,de}crement, fail.
++
++	2010-11-03  Jakub Jelinek  <jakub at redhat.com>
++
++	PR tree-optimization/46165
++	* tree-ssa-pre.c (eliminate): Return TODO_cleanup_cfg if changing
++	a normal call into noreturn call.
++
++	PR tree-optimization/46107
++	* cfgloopmanip.c (loop_version): Set irred_flag back into entry->flags
++	if cfg_hook_duplicate_loop_to_header_edge failed.
++
++2010-11-10  Uros Bizjak  <ubizjak at gmail.com>
++
++	PR middle-end/46419
++	* config/i386/xmmintrin.h (_mm_cvtpi16_ps): Swap __hisi and __losi.
++	(_mm_cvtpu16_ps): Ditto.
++
++2010-11-09  Sebastian Pop  <sebastian.pop at amd.com>
++
++	PR tree-optimization/45314
++	Backport of revision 163132.
++	* graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Always insert out
++	of SSA copies on edges except for loop->latch.
++
++2010-11-09  Andreas Krebbel  <Andreas.Krebbel at de.ibm.com>
++
++	PR rtl-optimization/46237
++	* ira-conflicts.c (ira_build_conflicts): Record conflicts for call
++	saved hard regs if they might get partially clobbered.
++
++2010-11-06  Andreas Krebbel  <Andreas.Krebbel at de.ibm.com>
++
++	PR debug/45939
++	* var-tracking.c (emit_note_insn_var_location): Make sure that
++	call related var location notes come before the normal ones.
++
++2010-11-04  Uros Bizjak  <ubizjak at gmail.com>
++
++	Revert:
++	2010-10-30  Uros Bizjak  <ubizjak at gmail.com>
++
++	PR middle-end/44569
++	* lower-suberg.c (simplify_subreg_concatn): For VOIDmode elements,
++	determine the mode of a subreg by GET_MODE_INNER of CONCATN RTX.
++
++2010-11-04  Alan Modra  <amodra at gmail.com>
++
++	* config/rs6000/rs6000.c (rs6000_pic_labelno): Make static.
++	(rs6000_emit_load_toc_table): Don't use rs6000_pic_labelno when
++	TARGET_SECURE_PLT.
++	* config/rs6000/sysv4.h (rs6000_pic_labelno): Don't declare.
++	* config/rs6000/rs6000.md (load_toc_v4_PIC_3b): Use "b" constraint
++	on input, "r" on output.
++
++2010-11-02  Ira Rosen  <irar at il.ibm.com>
++
++	PR tree-optimization/45902
++	* tree-vectorizer.h (enum stmt_vec_info_type): Add new value for shift.
++	(vect_get_slp_defs): Add arguments.
++	* tree-vect-stmts.c (cost_for_stmt): Handle shifts.
++	(vect_get_vec_def_for_operand): Use operand's
++	type to determine number of units in the created vector.
++	(vect_get_vec_defs): Pass scalar operands to vect_get_slp_defs.
++	(vectorizable_shift): New function.
++	(vectorizable_operation): Move code that handles shifts to
++	vectorizable_shift.
++	(vectorizable_type_demotion): Pass scalar operands to
++	vect_get_slp_defs.
++	(vectorizable_type_promotion, vectorizable_store): Likewise.
++	(vect_analyze_stmt): Call vectorizable_shift.
++	(vect_transform_stmt): Likewise.
++	* tree-vect-slp.c (vect_get_constant_vectors): Add new argument.
++	Use it as the operand to create vectors except for stores.
++	(vect_get_slp_defs): Add new arguments. Pass them to
++	vect_get_constant_vectors.
++
++2010-10-30  Uros Bizjak  <ubizjak at gmail.com>
++
++	PR middle-end/44569
++	* lower-suberg.c (simplify_subreg_concatn): For VOIDmode elements,
++	determine the mode of a subreg by GET_MODE_INNER of CONCATN RTX.
++
++2010-10-30  Uros Bizjak  <ubizjak at gmail.com>
++
++	PR target/46153
++	* config/i386/sse.md (sse_movhlps_exp): Use destination
++	returned from ix86_fixup_binary_operands to expand insn.
++	(sse_movlhps_exp): Ditto.
++	(sse_loadhps_exp): Ditto.
++	(sse_loadlps_exp): Ditto.
++	(sse2_loadhpd_exp): Ditto.
++	(sse2_loadlpd_exp): Ditto.
++
++2010-10-29  Richard Henderson  <rth at redhat.com>
++
++	PR rtl-opt/46226
++	* stmt.c (expand_asm_operands): Call do_pending_stack_adjust
++	for asm goto.
++
++2010-10-27  Eric Botcazou  <ebotcazou at adacore.com>
++
++	* config/sparc/sol2-unwind.h (sparc64_fallback_frame_state): Adjust
++	for newer Solaris 10 release.
++	(sparc_fallback_frame_state): Likewise.
++
++2010-10-26  Ira Rosen  <irar at il.ibm.com>
++
++	PR tree-optimization/46167
++	* tree-vect-patterns.c (vect_recog_dot_prod_pattern): Check that
++	there is basic block for the statement.
++
++2010-10-24  Eric Botcazou  <ebotcazou at adacore.com>
++
++	* reg-stack.c (convert_regs_1): Return boolean value, true if the CFG
++	has been modified.
++	(convert_regs_2): Likewise.  Adjust calls to convert_regs_1.
++	(convert_regs): Adjust calls to convert_regs_2.  Clean up the CFG if
++	it has been modified.
++
++2010-10-22  Uros Bizjak  <ubizjak at gmail.com>
++
++	PR target/46098
++	* config/i386/sse.md (*avx_movup<avxmodesuffixf2c><avxmodesuffix>):
++	Rename from avx_movup<avxmodesuffixf2c><avxmodesuffix>.
++	(avx_movup<avxmodesuffixf2c><avxmodesuffix>): New expander.
++	(*<sse>_movup<ssemodesuffixf2c>): Rename from
++	<sse>_movup<ssemodesuffixf2c>.
++	(<sse>_movup<ssemodesuffixf2c>): New expander.
++	(*avx_movdqu<avxmodesuffix>): Rename from avx_movdqu<avxmodesuffix>.
++	(avx_movdqu<avxmodesuffix>): New expander.
++	(*sse2_movdqu): Rename from sse2_movdqu.
++	(sse2_movdqu): New expander.
++
++2010-10-22  Uros Bizjak  <ubizjak at gmail.com>
++
++	PR target/45946
++	* config/i386/i386.md (*pushti2): New insn pattern.
++	(pushti2 splitter): New insn splitter.
++
++2010-10-20  Vladimir Makarov  <vmakarov at redhat.com>
++
++	PR fortran/42169
++	* ira-emit.c (store_can_be_removed_p): Return false instead of
++	gcc_unreachable.
++
++2010-10-20  Eric Botcazou  <ebotcazou at adacore.com>
++
++	* stor-layout.c (skip_simple_constant_arithmetic): New function.
++	(self_referential_size): Use it instead of skip_simple_arithmetic.
++
++2010-10-18  Jakub Jelinek  <jakub at redhat.com>
++
++	PR middle-end/46019
++	* fold-const.c (fold_binary_loc): If integer_pow2p has
++	TREE_INT_CST_LOW zero, look at TREE_INT_CST_HIGH.
++
++2010-10-16  Eric Botcazou  <ebotcazou at adacore.com>
++
++	* gimplify.c (gimplify_type_sizes) <ARRAY_TYPE>: If the type is to be
++	ignored for debug info purposes, do not clear the DECL_IGNORED_P flag
++	on the bounds of its domain.
++	* tree.h (DECL_IGNORED_P): Document effect on TYPE_DECL specifically.
++
 +2010-10-15  Joseph Myers  <joseph at codesourcery.com>
 +
 +	* doc/extend.texi (Variable Length): Don't refer to VLAs not
@@ -599,13 +984,13 @@
 +
 +2010-09-29  Kai Tietz  <kai.tietz at onevision.com>
 +
-+        * config/i386/mingw32.h (TARGET_64BIT): replaced by
-+        TARGET_64BIT_DEFAULT in #if check.
++	* config/i386/mingw32.h (TARGET_64BIT): replaced by
++	TARGET_64BIT_DEFAULT in #if check.
 +
 +2010-09-28  Richard Henderson  <rth at redhat.com>
 +
 +	* config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Output 8 bytes
-+	when 8 bytes are requested.                             
++	when 8 bytes are requested.
 +
<<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.38&r2=1.39&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/gcc/gcc.spec?r1=1.642&r2=1.643&f=u



More information about the pld-cvs-commit mailing list