------- Additional Comments From pinskia at gcc dot gnu dot org  2005-04-15 
20:46 -------
Applying the following patch causes the ICE to be seen earlier:
Index: tree-ssa-loop-im.c
===============================================================
====
RCS file: /cvs/gcc/gcc/gcc/tree-ssa-loop-im.c,v
retrieving revision 2.36
diff -u -p -r2.36 tree-ssa-loop-im.c
--- tree-ssa-loop-im.c  11 Apr 2005 20:17:38 -0000      2.36
+++ tree-ssa-loop-im.c  15 Apr 2005 20:45:58 -0000
@@ -38,6 +38,7 @@ Software Foundation, 59 Temple Place - S
 #include "tree-pass.h"
 #include "flags.h"
 #include "real.h"
+#include "ggc.h"
 
 /* TODO:  Support for predicated code motion.  I.e.
 
@@ -622,9 +623,10 @@ determine_invariantness_stmt (struct dom
             The multiply stmt is not invariant, so update iterator
             and avoid rescanning.  */
          bsi_replace (&bsi, stmt1, true);
-         get_stmt_operands (stmt1);  /* Should not be necessary.  */
          bsi_insert_after (&bsi, stmt2, BSI_NEW_STMT);
          SSA_NAME_DEF_STMT (lhs) = stmt2;
+         ggc_collect ();
+         verify_ssa (true);
 
          /* Continue processing with invariant reciprocal statment.  */
          stmt = stmt1;


I think we are missing an update use.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21048

Reply via email to