packages (GCC_4_5): gcc/gcc-branch.diff, gcc/gcc.spec - up to 4.5.3

arekm arekm at pld-linux.org
Sun May 15 16:26:40 CEST 2011


Author: arekm                        Date: Sun May 15 14:26:40 2011 GMT
Module: packages                      Tag: GCC_4_5
---- Log message:
- up to 4.5.3

---- Files affected:
packages/gcc:
   gcc-branch.diff (1.43 -> 1.43.2.1) , gcc.spec (1.649 -> 1.649.2.1) 

---- Diffs:

================================================================
Index: packages/gcc/gcc-branch.diff
diff -u packages/gcc/gcc-branch.diff:1.43 packages/gcc/gcc-branch.diff:1.43.2.1
--- packages/gcc/gcc-branch.diff:1.43	Sat Feb 12 19:47:57 2011
+++ packages/gcc/gcc-branch.diff	Sun May 15 16:26:33 2011
@@ -1,12113 +1,2117 @@
-Index: configure
+Index: libgomp/fortran.c
 ===================================================================
---- configure	(.../tags/gcc_4_5_2_release)	(wersja 170084)
-+++ configure	(.../branches/gcc-4_5-branch)	(wersja 170084)
-@@ -5780,8 +5780,6 @@
- 
- 
- # Check for PPL
--ppl_major_version=0
--ppl_minor_version=10
- ppllibs=" -lppl_c -lppl -lgmpxx"
- pplinc=
- 
-@@ -5838,8 +5836,8 @@
- if test "x$with_ppl" != "xno" -a "${ENABLE_PPL_CHECK}" = "yes"; then
-   saved_CFLAGS="$CFLAGS"
-   CFLAGS="$CFLAGS $pplinc $gmpinc"
--  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version $ppl_major_version.$ppl_minor_version of PPL" >&5
--$as_echo_n "checking for version $ppl_major_version.$ppl_minor_version of PPL... " >&6; }
-+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version 0.10 (or later revision) of PPL" >&5
-+$as_echo_n "checking for version 0.10 (or later revision) of PPL... " >&6; }
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- #include "ppl_c.h"
-@@ -5847,7 +5845,7 @@
- main ()
- {
- 
--  #if PPL_VERSION_MAJOR != $ppl_major_version || PPL_VERSION_MINOR != $ppl_minor_version
-+  #if PPL_VERSION_MAJOR != 0 || PPL_VERSION_MINOR < 10
-   choke me
-   #endif
- 
-Index: libgomp/configure.tgt
-===================================================================
---- libgomp/configure.tgt	(.../tags/gcc_4_5_2_release)	(wersja 170084)
-+++ libgomp/configure.tgt	(.../branches/gcc-4_5-branch)	(wersja 170084)
-@@ -125,6 +125,10 @@
- 	config_path="bsd posix"
- 	;;
- 
-+  mips-sgi-irix6*)
-+	# Need to link with -lpthread so libgomp.so is self-contained.
-+	XLDFLAGS="${XLDFLAGS} -lpthread"
-+	;;
-   *)
- 	;;
+--- libgomp/fortran.c	(.../tags/gcc_4_5_3_release)	(wersja 173771)
++++ libgomp/fortran.c	(.../branches/gcc-4_5-branch)	(wersja 173771)
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
++/* Copyright (C) 2005, 2007, 2008, 2009, 2011 Free Software Foundation, Inc.
+    Contributed by Jakub Jelinek <jakub at redhat.com>.
+ 
+    This file is part of the GNU OpenMP Library (libgomp).
+@@ -27,6 +27,7 @@
+ #include "libgomp.h"
+ #include "libgomp_f.h"
+ #include <stdlib.h>
++#include <limits.h>
  
-Index: libgomp/ChangeLog
-===================================================================
---- libgomp/ChangeLog	(.../tags/gcc_4_5_2_release)	(wersja 170084)
-+++ libgomp/ChangeLog	(.../branches/gcc-4_5-branch)	(wersja 170084)
-@@ -1,3 +1,18 @@
-+2011-01-16  Jakub Jelinek  <jakub at redhat.com>
-+
-+	Backport from mainline
-+	2010-12-14  Jakub Jelinek  <jakub at redhat.com>
-+
-+	PR fortran/46874
-+	* libgomp.fortran/allocatable6.f90: New test.
-+
-+2010-12-17  Rainer Orth  <ro at CeBiTec.Uni-Bielefeld.DE>
-+
-+	Backport from mainline:
-+	2010-12-01  Rainer Orth  <ro at CeBiTec.Uni-Bielefeld.DE>
-+
-+	* configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
-+
- 2010-12-16  Release Manager
+ #ifdef HAVE_ATTRIBUTE_ALIAS
+ /* Use internal aliases if possible.  */
+@@ -244,6 +245,8 @@
+ omp_lock_symver (omp_test_nest_lock_)
+ #endif
  
- 	* GCC 4.5.2 released.
-Index: libgomp/testsuite/libgomp.fortran/allocatable6.f90
-===================================================================
---- libgomp/testsuite/libgomp.fortran/allocatable6.f90	(.../tags/gcc_4_5_2_release)	(wersja 0)
-+++ libgomp/testsuite/libgomp.fortran/allocatable6.f90	(.../branches/gcc-4_5-branch)	(wersja 170084)
-@@ -0,0 +1,45 @@
-+! PR fortran/46874
-+! { dg-do run }
-+
-+  interface
-+    subroutine sub (a, b, c, d, n)
-+      integer :: n
-+      integer, allocatable :: a(:), b(:), c(:), d(:)
-+    end subroutine
-+  end interface
-+
-+  integer, allocatable :: a(:), b(:), c(:), d(:)
-+  integer :: i, j
-+  allocate (a(50), b(50), c(50), d(50))
-+  do i = 1, 50
-+    a(i) = 2 + modulo (i, 7)
-+    b(i) = 179 - modulo (i, 11)
-+  end do
-+  c = 0
-+  d = 2147483647
-+  call sub (a, b, c, d, 50)
-+  do i = 1, 50
-+    j = 0
-+    if (i .eq. 3) then
-+      j = 8
-+    else if (i .gt. 1 .and. i .lt. 9) then
-+      j = 7
-+    end if
-+    if (c(i) .ne. j) call abort
-+    j = 179 - modulo (i, 11)
-+    if (i .gt. 1 .and. i .lt. 9) j = i
-+    if (d(i) .ne. j) call abort
-+  end do
-+  deallocate (a, b, c, d)
-+end
++#define TO_INT(x) ((x) > INT_MIN ? (x) < INT_MAX ? (x) : INT_MAX : INT_MIN)
 +
-+subroutine sub (a, b, c, d, n)
-+  integer :: n
-+  integer, allocatable :: a(:), b(:), c(:), d(:)
-+!$omp parallel do shared(a, b) reduction(+:c) reduction(min:d)
-+  do i = 1, n
-+    c(a(i)) = c(a(i)) + 1
-+    d(i) = min(d(i), b(i))
-+    d(a(i)) = min(d(a(i)), a(i))
-+  end do
-+end
-Index: gcc/tree-vrp.c
-===================================================================
---- gcc/tree-vrp.c	(.../tags/gcc_4_5_2_release)	(wersja 170084)
-+++ gcc/tree-vrp.c	(.../branches/gcc-4_5-branch)	(wersja 170084)
-@@ -7290,6 +7290,7 @@
-   size_t i;
-   prop_value_t *single_val_range;
-   bool do_value_subst_p;
-+  unsigned num = num_ssa_names;
- 
-   if (dump_file)
-     {
-@@ -7301,10 +7302,10 @@
-   /* We may have ended with ranges that have exactly one value.  Those
-      values can be substituted as any other const propagated
-      value using substitute_and_fold.  */
--  single_val_range = XCNEWVEC (prop_value_t, num_ssa_names);
-+  single_val_range = XCNEWVEC (prop_value_t, num);
- 
-   do_value_subst_p = false;
--  for (i = 0; i < num_ssa_names; i++)
-+  for (i = 0; i < num; i++)
-     if (vr_value[i]
- 	&& vr_value[i]->type == VR_RANGE
- 	&& vr_value[i]->min == vr_value[i]->max
-@@ -7332,7 +7333,7 @@
-   identify_jump_threads ();
- 
-   /* Free allocated memory.  */
--  for (i = 0; i < num_ssa_names; i++)
-+  for (i = 0; i < num; i++)
-     if (vr_value[i])
-       {
- 	BITMAP_FREE (vr_value[i]->equiv);
-Index: gcc/doc/extend.texi
-===================================================================
---- gcc/doc/extend.texi	(.../tags/gcc_4_5_2_release)	(wersja 170084)
-+++ gcc/doc/extend.texi	(.../branches/gcc-4_5-branch)	(wersja 170084)
-@@ -11873,6 +11873,12 @@
- vector float vec_div (vector float, vector float);
- vector double vec_div (vector double, vector double);
- vector double vec_floor (vector double);
-+vector double vec_ld (int, const vector double *);
-+vector double vec_ld (int, const double *);
-+vector double vec_ldl (int, const vector double *);
-+vector double vec_ldl (int, const double *);
-+vector unsigned char vec_lvsl (int, const volatile double *);
-+vector unsigned char vec_lvsr (int, const volatile double *);
- vector double vec_madd (vector double, vector double, vector double);
- vector double vec_max (vector double, vector double);
- vector double vec_min (vector double, vector double);
-@@ -11899,6 +11905,8 @@
- vector double vec_sub (vector double, vector double);
- vector float vec_sqrt (vector float);
- vector double vec_sqrt (vector double);
-+void vec_st (vector double, int, vector double *);
-+void vec_st (vector double, int, double *);
- vector double vec_trunc (vector double);
- vector double vec_xor (vector double, vector double);
- vector double vec_xor (vector double, vector bool long);
-@@ -11927,8 +11935,66 @@
- int vec_any_nle (vector double, vector double);
- int vec_any_nlt (vector double, vector double);
- int vec_any_numeric (vector double);
-+
-+vector double vec_vsx_ld (int, const vector double *);
-+vector double vec_vsx_ld (int, const double *);
-+vector float vec_vsx_ld (int, const vector float *);
-+vector float vec_vsx_ld (int, const float *);
-+vector bool int vec_vsx_ld (int, const vector bool int *);
-+vector signed int vec_vsx_ld (int, const vector signed int *);
-+vector signed int vec_vsx_ld (int, const int *);
-+vector signed int vec_vsx_ld (int, const long *);
-+vector unsigned int vec_vsx_ld (int, const vector unsigned int *);
-+vector unsigned int vec_vsx_ld (int, const unsigned int *);
-+vector unsigned int vec_vsx_ld (int, const unsigned long *);
-+vector bool short vec_vsx_ld (int, const vector bool short *);
-+vector pixel vec_vsx_ld (int, const vector pixel *);
-+vector signed short vec_vsx_ld (int, const vector signed short *);
-+vector signed short vec_vsx_ld (int, const short *);
-+vector unsigned short vec_vsx_ld (int, const vector unsigned short *);
-+vector unsigned short vec_vsx_ld (int, const unsigned short *);
-+vector bool char vec_vsx_ld (int, const vector bool char *);
-+vector signed char vec_vsx_ld (int, const vector signed char *);
-+vector signed char vec_vsx_ld (int, const signed char *);
-+vector unsigned char vec_vsx_ld (int, const vector unsigned char *);
-+vector unsigned char vec_vsx_ld (int, const unsigned char *);
-+
-+void vec_vsx_st (vector double, int, vector double *);
-+void vec_vsx_st (vector double, int, double *);
-+void vec_vsx_st (vector float, int, vector float *);
-+void vec_vsx_st (vector float, int, float *);
-+void vec_vsx_st (vector signed int, int, vector signed int *);
-+void vec_vsx_st (vector signed int, int, int *);
-+void vec_vsx_st (vector unsigned int, int, vector unsigned int *);
-+void vec_vsx_st (vector unsigned int, int, unsigned int *);
-+void vec_vsx_st (vector bool int, int, vector bool int *);
-+void vec_vsx_st (vector bool int, int, unsigned int *);
-+void vec_vsx_st (vector bool int, int, int *);
-+void vec_vsx_st (vector signed short, int, vector signed short *);
-+void vec_vsx_st (vector signed short, int, short *);
-+void vec_vsx_st (vector unsigned short, int, vector unsigned short *);
-+void vec_vsx_st (vector unsigned short, int, unsigned short *);
-+void vec_vsx_st (vector bool short, int, vector bool short *);
-+void vec_vsx_st (vector bool short, int, unsigned short *);
-+void vec_vsx_st (vector pixel, int, vector pixel *);
-+void vec_vsx_st (vector pixel, int, unsigned short *);
-+void vec_vsx_st (vector pixel, int, short *);
-+void vec_vsx_st (vector bool short, int, short *);
-+void vec_vsx_st (vector signed char, int, vector signed char *);
-+void vec_vsx_st (vector signed char, int, signed char *);
-+void vec_vsx_st (vector unsigned char, int, vector unsigned char *);
-+void vec_vsx_st (vector unsigned char, int, unsigned char *);
-+void vec_vsx_st (vector bool char, int, vector bool char *);
-+void vec_vsx_st (vector bool char, int, unsigned char *);
-+void vec_vsx_st (vector bool char, int, signed char *);
- @end smallexample
- 
-+Note that the @samp{vec_ld} and @samp{vec_st} builtins will always
-+generate the Altivec @samp{LVX} and @samp{STVX} instructions even
-+if the VSX instruction set is available.  The @samp{vec_vsx_ld} and
-+ at samp{vec_vsx_st} builtins will always generate the VSX @samp{LXVD2X},
-+ at samp{LXVW4X}, @samp{STXVD2X}, and @samp{STXVW4X} instructions.
-+
- GCC provides a few other builtins on Powerpc to access certain instructions:
- @smallexample
- float __builtin_recipdivf (float, float);
-@@ -12799,7 +12865,7 @@
- be a @var{constant-expression}, as defined in 5.19.2 of the ANSI/ISO C++
- standard.
- 
--See @uref{http://people.redhat.com/drepper/tls.pdf,
-+See @uref{http://www.akkadia.org/drepper/tls.pdf,
- ELF Handling For Thread-Local Storage} for a detailed explanation of
- the four thread-local storage addressing models, and how the run-time
- is expected to function.
-Index: gcc/doc/install.texi
-===================================================================
---- gcc/doc/install.texi	(.../tags/gcc_4_5_2_release)	(wersja 170084)
-+++ gcc/doc/install.texi	(.../branches/gcc-4_5-branch)	(wersja 170084)
-@@ -44,9 +44,9 @@
- @settitle Installing GCC: GNU Free Documentation License
- @end ifset
- 
-- at c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-- at c 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 
-- at c 2010 Free Software Foundation, Inc.
-+ at c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997,
-+ at c 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
-+ at c 2009, 2010, 2011 Free Software Foundation, Inc.
- @c *** Converted to texinfo by Dean Wakerley, dean at wakerley.com
- 
- @c IMPORTANT: whenever you modify this file, run `install.texi2html' to
-@@ -72,8 +72,8 @@
- @c Part 2 Summary Description and Copyright
- @copying
- Copyright @copyright{} 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997,
--1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
--2008 Free Software Foundation, Inc.
-+1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
-+2009, 2010, 2011 Free Software Foundation, Inc.
- @sp 1
- Permission is granted to copy, distribute and/or modify this document
- under the terms of the GNU Free Documentation License, Version 1.2 or
-@@ -2784,10 +2784,6 @@
- @end itemize
- 
- @item
--Motorola 68HC11/68HC12--- at uref{http://www.gnu-m68hc11.org,,GNU
--Development Tools for the Motorola 68HC11/68HC12}.
--
-- at item
- @uref{http://www.sco.com/skunkware/devtools/index.html#gcc,,SCO
- OpenServer/Unixware}.
- 
-@@ -3311,23 +3307,8 @@
- @heading @anchor{hppa-hp-hpux10}hppa*-hp-hpux10
- 
- For hpux10.20, we @emph{highly} recommend you pick up the latest sed patch
-- at code{PHCO_19798} from HP at .  HP has two sites which provide patches free of
--charge:
-+ at code{PHCO_19798} from HP at .
- 
-- at itemize @bullet
-- at item
-- at html
--<a href="http://us.itrc.hp.com/service/home/home.do">US, Canada, Asia-Pacific, and
--Latin-America</a>
-- at end html
-- at ifnothtml
-- at uref{http://us.itrc.hp.com/service/home/home.do,,} US, Canada, Asia-Pacific,
--and Latin-America.
-- at end ifnothtml
-- at item
-- at uref{http://europe.itrc.hp.com/service/home/home.do,,} Europe.
-- at end itemize
--
- The C++ ABI has changed incompatibly in GCC 4.0.  COMDAT subspaces are
- used for one-only code and data.  This resolves many of the previous
- problems in using C++ on this target.  However, the ABI is not compatible
-Index: gcc/tree-ssa-loop-im.c
-===================================================================
---- gcc/tree-ssa-loop-im.c	(.../tags/gcc_4_5_2_release)	(wersja 170084)
-+++ gcc/tree-ssa-loop-im.c	(.../branches/gcc-4_5-branch)	(wersja 170084)
-@@ -2139,7 +2139,7 @@
-   edge ex;
- 
-   for (i = 0; VEC_iterate (edge, exits, i, ex); i++)
--    if (ex->flags & EDGE_ABNORMAL)
-+    if (ex->flags & (EDGE_ABNORMAL | EDGE_EH))
-       return false;
- 
-   return true;
-Index: gcc/tree-loop-distribution.c
-===================================================================
---- gcc/tree-loop-distribution.c	(.../tags/gcc_4_5_2_release)	(wersja 170084)
-+++ gcc/tree-loop-distribution.c	(.../branches/gcc-4_5-branch)	(wersja 170084)
-@@ -251,7 +251,7 @@
- 
- /* Generate a call to memset.  Return true when the operation succeeded.  */
- 
--static bool
-+static void
- generate_memset_zero (gimple stmt, tree op0, tree nb_iter,
- 		      gimple_stmt_iterator bsi)
+ void
+ omp_set_dynamic_ (const int32_t *set)
  {
-@@ -265,45 +265,27 @@
- 
-   DR_STMT (dr) = stmt;
-   DR_REF (dr) = op0;
--  if (!dr_analyze_innermost (dr))
--    goto end;
-+  res = dr_analyze_innermost (dr);
-+  gcc_assert (res && stride_of_unit_type_p (DR_STEP (dr), TREE_TYPE (op0)));
- 
--  /* Test for a positive stride, iterating over every element.  */
--  if (integer_zerop (size_binop (MINUS_EXPR,
--				 fold_convert (sizetype, DR_STEP (dr)),
--				 TYPE_SIZE_UNIT (TREE_TYPE (op0)))))
--    {
--      addr_base = fold_convert_loc (loc, sizetype,
--				    size_binop_loc (loc, PLUS_EXPR,
--						    DR_OFFSET (dr),
--						    DR_INIT (dr)));
--      addr_base = fold_build2_loc (loc, POINTER_PLUS_EXPR,
--				   TREE_TYPE (DR_BASE_ADDRESS (dr)),
--				   DR_BASE_ADDRESS (dr), addr_base);
-+  nb_bytes = build_size_arg_loc (loc, nb_iter, op0, &stmt_list);
-+  addr_base = size_binop_loc (loc, PLUS_EXPR, DR_OFFSET (dr), DR_INIT (dr));
-+  addr_base = fold_convert_loc (loc, sizetype, addr_base);
- 
--      nb_bytes = build_size_arg_loc (loc, nb_iter, op0, &stmt_list);
--    }
--
-   /* Test for a negative stride, iterating over every element.  */
--  else if (integer_zerop (size_binop (PLUS_EXPR,
--				      TYPE_SIZE_UNIT (TREE_TYPE (op0)),
--				      fold_convert (sizetype, DR_STEP (dr)))))
-+  if (integer_zerop (size_binop (PLUS_EXPR,
-+				 TYPE_SIZE_UNIT (TREE_TYPE (op0)),
-+				 fold_convert (sizetype, DR_STEP (dr)))))
-     {
--      nb_bytes = build_size_arg_loc (loc, nb_iter, op0, &stmt_list);
--
--      addr_base = size_binop_loc (loc, PLUS_EXPR, DR_OFFSET (dr), DR_INIT (dr));
--      addr_base = fold_convert_loc (loc, sizetype, addr_base);
-       addr_base = size_binop_loc (loc, MINUS_EXPR, addr_base,
- 				  fold_convert_loc (loc, sizetype, nb_bytes));
-       addr_base = size_binop_loc (loc, PLUS_EXPR, addr_base,
- 				  TYPE_SIZE_UNIT (TREE_TYPE (op0)));
--      addr_base = fold_build2_loc (loc, POINTER_PLUS_EXPR,
--				   TREE_TYPE (DR_BASE_ADDRESS (dr)),
--				   DR_BASE_ADDRESS (dr), addr_base);
-     }
--  else
--    goto end;
- 
-+  addr_base = fold_build2_loc (loc, POINTER_PLUS_EXPR,
-+			       TREE_TYPE (DR_BASE_ADDRESS (dr)),
-+			       DR_BASE_ADDRESS (dr), addr_base);
-   mem = force_gimple_operand (addr_base, &stmts, true, NULL);
-   gimple_seq_add_seq (&stmt_list, stmts);
- 
-@@ -311,14 +293,11 @@
-   fn_call = gimple_build_call (fn, 3, mem, integer_zero_node, nb_bytes);
-   gimple_seq_add_stmt (&stmt_list, fn_call);
-   gsi_insert_seq_after (&bsi, stmt_list, GSI_CONTINUE_LINKING);
--  res = true;
- 
-   if (dump_file && (dump_flags & TDF_DETAILS))
-     fprintf (dump_file, "generated memset zero\n");
- 
-- end:
-   free_data_ref (dr);
--  return res;
+@@ -253,7 +256,7 @@
+ void
+ omp_set_dynamic_8_ (const int64_t *set)
+ {
+-  omp_set_dynamic (*set);
++  omp_set_dynamic (!!*set);
  }
  
- /* Tries to generate a builtin function for the instructions of LOOP
-@@ -332,7 +311,6 @@
-   unsigned i, x = 0;
-   basic_block *bbs;
-   gimple write = NULL;
--  tree op0, op1;
-   gimple_stmt_iterator bsi;
-   tree nb_iter = number_of_exit_cond_executions (loop);
- 
-@@ -368,26 +346,17 @@
- 	}
-     }
- 
--  if (!write)
-+  if (!stmt_with_adjacent_zero_store_dr_p (write))
-     goto end;
+ void
+@@ -265,7 +268,7 @@
+ void
+ omp_set_nested_8_ (const int64_t *set)
+ {
+-  omp_set_nested (*set);
++  omp_set_nested (!!*set);
+ }
  
--  op0 = gimple_assign_lhs (write);
--  op1 = gimple_assign_rhs1 (write);
--
--  if (!(TREE_CODE (op0) == ARRAY_REF
--	|| TREE_CODE (op0) == INDIRECT_REF))
--    goto end;
--
-   /* The new statements will be placed before LOOP.  */
-   bsi = gsi_last_bb (loop_preheader_edge (loop)->src);
-+  generate_memset_zero (write, gimple_assign_lhs (write), nb_iter, bsi);
-+  res = true;
- 
--  if (gimple_assign_rhs_code (write) == INTEGER_CST
--      && (integer_zerop (op1) || real_zerop (op1)))
--    res = generate_memset_zero (write, op0, nb_iter, bsi);
--
-   /* If this is the last partition for which we generate code, we have
-      to destroy the loop.  */
--  if (res && !copy_p)
-+  if (!copy_p)
-     {
-       unsigned nbbs = loop->num_nodes;
-       edge exit = single_exit (loop);
-@@ -531,24 +500,6 @@
- static void rdg_flag_vertex_and_dependent (struct graph *, int, bitmap, bitmap,
- 					   bitmap, bool *);
+ void
+@@ -277,7 +280,7 @@
+ void
+ omp_set_num_threads_8_ (const int64_t *set)
+ {
+-  omp_set_num_threads (*set);
++  omp_set_num_threads (TO_INT (*set));
+ }
  
--/* Flag all the uses of U.  */
--
--static void
--rdg_flag_all_uses (struct graph *rdg, int u, bitmap partition, bitmap loops,
--		   bitmap processed, bool *part_has_writes)
--{
--  struct graph_edge *e;
--
--  for (e = rdg->vertices[u].succ; e; e = e->succ_next)
--    if (!bitmap_bit_p (processed, e->dest))
--      {
--	rdg_flag_vertex_and_dependent (rdg, e->dest, partition, loops,
--				       processed, part_has_writes);
--	rdg_flag_all_uses (rdg, e->dest, partition, loops, processed,
--			   part_has_writes);
--      }
--}
--
- /* Flag the uses of U stopping following the information from
-    upstream_mem_writes.  */
+ int32_t
+@@ -343,7 +346,7 @@
+ void
+ omp_set_schedule_8_ (const int32_t *kind, const int64_t *modifier)
+ {
+-  omp_set_schedule (*kind, *modifier);
++  omp_set_schedule (*kind, TO_INT (*modifier));
+ }
  
-@@ -720,68 +671,13 @@
-     }
+ void
+@@ -381,7 +384,7 @@
+ void
+ omp_set_max_active_levels_8_ (const int64_t *levels)
+ {
+-  omp_set_max_active_levels (*levels);
++  omp_set_max_active_levels (TO_INT (*levels));
  }
  
--/* Flag all the nodes of RDG containing memory accesses that could
--   potentially belong to arrays already accessed in the current
--   PARTITION.  */
--
--static void
--rdg_flag_similar_memory_accesses (struct graph *rdg, bitmap partition,
--				  bitmap loops, bitmap processed,
--				  VEC (int, heap) **other_stores)
--{
--  bool foo;
--  unsigned i, n;
--  int j, k, kk;
--  bitmap_iterator ii;
--  struct graph_edge *e;
--
--  EXECUTE_IF_SET_IN_BITMAP (partition, 0, i, ii)
--    if (RDG_MEM_WRITE_STMT (rdg, i)
--	|| RDG_MEM_READS_STMT (rdg, i))
--      {
--	for (j = 0; j < rdg->n_vertices; j++)
--	  if (!bitmap_bit_p (processed, j)
--	      && (RDG_MEM_WRITE_STMT (rdg, j)
--		  || RDG_MEM_READS_STMT (rdg, j))
--	      && rdg_has_similar_memory_accesses (rdg, i, j))
--	    {
--	      /* Flag first the node J itself, and all the nodes that
--		 are needed to compute J.  */
--	      rdg_flag_vertex_and_dependent (rdg, j, partition, loops,
--					     processed, &foo);
--
--	      /* When J is a read, we want to coalesce in the same
--		 PARTITION all the nodes that are using J: this is
--		 needed for better cache locality.  */
--	      rdg_flag_all_uses (rdg, j, partition, loops, processed, &foo);
--
--	      /* Remove from OTHER_STORES the vertex that we flagged.  */
--	      if (RDG_MEM_WRITE_STMT (rdg, j))
--		for (k = 0; VEC_iterate (int, *other_stores, k, kk); k++)
--		  if (kk == j)
--		    {
--		      VEC_unordered_remove (int, *other_stores, k);
--		      break;
--		    }
--	    }
--
<<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.43&r2=1.43.2.1&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/gcc/gcc.spec?r1=1.649&r2=1.649.2.1&f=u



More information about the pld-cvs-commit mailing list