re PR rtl-optimization/13375 (ICE in gcse.c)
authorRichard Earnshaw <rearnsha@arm.com>
Thu, 15 Jan 2004 17:29:10 +0000 (17:29 +0000)
committerRichard Earnshaw <rearnsha@gcc.gnu.org>
Thu, 15 Jan 2004 17:29:10 +0000 (17:29 +0000)
PR optimization/13375
* gcse.c (handle_avail_expr): Just return if the source is not a
single set.

From-SVN: r75932

gcc/ChangeLog
gcc/gcse.c

index cdc724b7cea0120d7457ed1bfb56e34060ea787f..184b44d2afeeeb8a4b244e13c24e6f07f9d87879 100644 (file)
@@ -1,3 +1,9 @@
+2004-01-15  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR optimization/13375
+       * gcse.c (handle_avail_expr): Just return if the source is not a
+       single set.
+
 2004-01-15  Richard Earnshaw  <rearnsha@arm.com>
            Daniel Jacobowitz  <drow@mvista.com>
 
index f3656c19d47c853e9e9861d1991593fc9dc26c53..6053dffe83314d15ca5ade1f0bf8148d7e7c6f92 100644 (file)
@@ -3381,8 +3381,11 @@ handle_avail_expr (rtx insn, struct expr *expr)
   if (insn_computes_expr == NULL)
     return 0;
   expr_set = single_set (insn_computes_expr);
+  /* The set might be in a parallel with multiple sets; we could
+     probably handle that, but there's currently no easy way to find
+     the relevant sub-expression.  */
   if (!expr_set)
-    abort ();
+    return 0;
 
   found_setting = 0;
   use_src = 0;