Hi,

here is a tiny patch which removes an assert which I believe is wrong.
I think it is an anomaly as the only callee (determine_max_movement at
gcc/tree-ssa-loop-im.c:749) tests the asserted result against NULL.  (If
the assert really were correct then the else statement is redundant
(dead code) at line gcc/tree-ssa-loop-im.c:758).

I think the else is correct and the assert wrong as the gnu modula-2
front end can provoke the assert to fail (thus needing the else statement).

I've run the C regression tests and there are no changes in the results
if the patch is applied.

regards,
Gaius


--- gcc-versionno-orig/gcc/tree-ssa-loop-im.c   2017-06-01 17:06:50.228216946 
+0100
+++ gcc-versionno/gcc/tree-ssa-loop-im.c        2017-06-01 21:34:55.623992245 
+0100
@@ -602,7 +602,6 @@
   hash = iterative_hash_expr (*mem, 0);
   ref = memory_accesses.refs->find_with_hash (*mem, hash);
 
-  gcc_assert (ref != NULL);
   return ref;
 }
 
@@ -2631,5 +2630,3 @@
 {
   return new pass_lim (ctxt);
 }
-
-

Reply via email to