This is the mail archive of the gcc@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]

[tree-ssa] bootstrap failure on x86


Folks,

One of these two patches broke bootstraps on x86.  Could you
please take a look?

The failure looks similar to the one I found on PPC, but on a
different file.

-----------------------------------------------------------------------------
[...]
stage1/xgcc -Bstage1/ -B/home/dnovillo/perf/sbox/tree-ssa-branch/local/inst/i686-pc-linux-gnu/bin/ -c   -g -O2  -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Werror  -Wno-error  -DHAVE_CONFIG_H    -I. -Ijava -I/home/dnovillo/perf/sbox/tree-ssa-branch/local/src/gcc -I/home/dnovillo/perf/sbox/tree-ssa-branch/local/src/gcc/java -I/home/dnovillo/perf/sbox/tree-ssa-branch/local/src/gcc/config -I/home/dnovillo/perf/sbox/tree-ssa-branch/local/src/gcc/../include -I/home/dnovillo/perf/sbox/tree-ssa-branch/local/src/gcc/../libbanshee/libcompat -I/home/dnovillo/perf/sbox/tree-ssa-branch/local/src/gcc/../libbanshee -I/home/dnovillo/perf/sbox/tree-ssa-branch/local/src/gcc/../libbanshee/points-to /home/dnovillo/perf/sbox/tree-ssa-branch/local/src/gcc/java/parse.c -o java/parse.o
/home/dnovillo/perf/sbox/tree-ssa-branch/local/src/gcc/java/parse.y: In function `java_check_regular_methods':
/home/dnovillo/perf/sbox/tree-ssa-branch/local/src/gcc/java/parse.y:6425: internal compiler error: in assign_vars, at tree-ssa.c:1530
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
make[2]: *** [java/parse.o] Error 1
make[2]: Leaving directory `/notnfs/dnovillo/sbox/tree-ssa-branch/bld.toribio/gcc'
make[1]: *** [stage2_build] Error 2
make[1]: Leaving directory `/notnfs/dnovillo/sbox/tree-ssa-branch/bld.toribio/gcc'
make: *** [bootstrap] Error 2
-----------------------------------------------------------------------------


Thanks.  Diego.

diff -r -x CVS -dupN gcc.prev/gcc/ChangeLog.tree-ssa gcc/gcc/ChangeLog.tree-ssa
--- gcc.prev/gcc/ChangeLog.tree-ssa	2003-05-28 00:17:14.000000000 -0400
+++ gcc/gcc/ChangeLog.tree-ssa	2003-05-30 04:35:44.000000000 -0400
@@ -1,5 +1,18 @@
 2003-05-27  Jason Merrill  <jason@redhat.com>
 
+	* tree-ssa.c (avail_expr_hash): Simplify by using iterative_hash_expr
+	in more places.
+	* tree.c (iterative_hash_expr): Handle SSA_NAME.
+
+2003-05-29  Jeff Law  <law@redhat.com>
+
+	* tree-ssa.c (rewrite_stmt): Detect and remove redundant
+	memory loads.
+	(avail_expr_hash): Use iterative_hash_expr, not iterative_hash_object
+	as needed.
+
+2003-05-27  Jason Merrill  <jason@redhat.com>
+
 	* gimplify.c (shortcut_cond_expr): Avoid jumps to jumps.
 
 2003-05-26  Jason Merrill  <jason@redhat.com>
diff -r -x CVS -dupN gcc.prev/gcc/tree-ssa.c gcc/gcc/tree-ssa.c
--- gcc.prev/gcc/tree-ssa.c	2003-05-26 04:35:28.000000000 -0400
+++ gcc/gcc/tree-ssa.c	2003-05-30 04:35:54.000000000 -0400
@@ -2107,10 +2107,9 @@ rewrite_stmt (si, block_defs_p, block_av
     fold_stmt (stmt);
 
   /* Step 2.  Check for redundant computations.  Do this optimization only
-     for assignments that make no calls and have no aliased nor volatile
-     references and no side effects (i.e., no VDEFs).  */
-  may_optimize_p = !ann->makes_aliased_loads
-		   && !ann->makes_aliased_stores
+     for assignments that make no calls and have no aliased stores
+     nor volatile references and no side effects (i.e., no VDEFs).  */
+  may_optimize_p = !ann->makes_aliased_stores
 		   && !ann->has_volatile_ops
 		   && vdefs == NULL;
 
@@ -2601,10 +2600,7 @@ avail_expr_hash (p)
   for (i = 0; ops && i < VARRAY_ACTIVE_SIZE (ops); i++)
     {
       tree op = *((tree *) VARRAY_GENERIC_PTR (ops, i));
-      if (TREE_CODE (op) == SSA_NAME)
-	val = iterative_hash_object (SSA_NAME_VERSION (op), val);
-      else
-	val = iterative_hash_object (op, val);
+      val = iterative_hash_expr (op, val);
     }
 
   /* Add the SSA version numbers of every vuse operand.  This is important
@@ -2613,7 +2609,7 @@ avail_expr_hash (p)
      representing all the elements of the array.  */
   ops = vuse_ops (stmt);
   for (i = 0; ops && i < VARRAY_ACTIVE_SIZE (ops); i++)
-    val = iterative_hash_object (SSA_NAME_VERSION (VARRAY_TREE (ops, i)), val);
+    val = iterative_hash_expr (VARRAY_TREE (ops, i), val);
 
   return val;
 }
diff -r -x CVS -dupN gcc.prev/gcc/tree.c gcc/gcc/tree.c
--- gcc.prev/gcc/tree.c	2003-05-28 00:17:22.000000000 -0400
+++ gcc/gcc/tree.c	2003-05-30 04:35:54.000000000 -0400
@@ -3608,6 +3608,11 @@ iterative_hash_expr (tree t, hashval_t v
       for (; t; t = TREE_CHAIN (t))
 	val = iterative_hash_expr (TREE_VALUE (t), val);
     }
+  else if (code == SSA_NAME)
+    {
+      val = iterative_hash_object (SSA_NAME_VERSION (t), val);
+      val = iterative_hash_expr (SSA_NAME_VAR (t), val);
+    }
   else
     abort ();
 
diff -r -x CVS -dupN gcc.prev/gcc/version.c gcc/gcc/version.c
--- gcc.prev/gcc/version.c	2003-05-29 04:38:24.000000000 -0400
+++ gcc/gcc/version.c	2003-05-30 04:35:54.000000000 -0400
@@ -6,7 +6,7 @@
    please modify this string to indicate that, e.g. by putting your
    organization's name in parentheses at the end of the string.  */
 
-const char version_string[] = "3.5-tree-ssa 20030529 (merged 20030511)";
+const char version_string[] = "3.5-tree-ssa 20030530 (merged 20030511)";
 
 /* This is the location of the online document giving instructions for
    reporting bugs.  If you distribute a modified version of GCC,
diff -r -x CVS -dupN gcc.prev/libstdc++-v3/include/bits/c++config gcc/libstdc++-v3/include/bits/c++config
--- gcc.prev/libstdc++-v3/include/bits/c++config	2003-05-29 04:40:02.000000000 -0400
+++ gcc/libstdc++-v3/include/bits/c++config	2003-05-30 04:39:27.000000000 -0400
@@ -35,7 +35,7 @@
 #include <bits/os_defines.h>
 
 // The current version of the C++ library in compressed ISO date format.
-#define __GLIBCPP__ 20030529
+#define __GLIBCPP__ 20030530
 
 // This is necessary until GCC supports separate template compilation.
 #define _GLIBCPP_NO_TEMPLATE_EXPORT 1


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