------- Comment #2 from spark at gcc dot gnu dot org  2007-06-14 19:49 -------
The problem is reproducible also on x86-64.
The following patch seems to fix the ICE.
I'll start a bootstrap/testing.

*** /tmp/gcse.c 2007-06-14 19:46:27.000000000 +0000
--- gcc/gcse.c  2007-06-14 19:44:19.000000000 +0000
*************** replace_store_insn (rtx reg, rtx del, ba
*** 6341,6357 ****

    mem = smexpr->pattern;
    insn = gen_move_insn (reg, SET_SRC (single_set (del)));
-   insn = emit_insn_after (insn, del);
-
-   if (dump_file)
-     {
-       fprintf (dump_file,
-              "STORE_MOTION  delete insn in BB %d:\n      ", bb->index);
-       print_inline_rtx (dump_file, del, 6);
-       fprintf (dump_file, "\nSTORE MOTION  replaced with insn:\n      ");
-       print_inline_rtx (dump_file, insn, 6);
-       fprintf (dump_file, "\n");
-     }

    for (ptr = ANTIC_STORE_LIST (smexpr); ptr; ptr = XEXP (ptr, 1))
      if (XEXP (ptr, 0) == del)
--- 6341,6346 ----
*************** replace_store_insn (rtx reg, rtx del, ba
*** 6379,6384 ****
--- 6368,6385 ----
        XEXP (note, 0) = insn;
      }

+   insn = emit_insn_after (insn, del);
+
+   if (dump_file)
+     {
+       fprintf (dump_file,
+              "STORE_MOTION  delete insn in BB %d:\n      ", bb->index);
+       print_inline_rtx (dump_file, del, 6);
+       fprintf (dump_file, "\nSTORE MOTION  replaced with insn:\n      ");
+       print_inline_rtx (dump_file, insn, 6);
+       fprintf (dump_file, "\n");
+     }
+
    delete_insn (del);

    /* Now we must handle REG_EQUAL notes whose contents is equal to the mem;


-- 

spark at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |spark at gcc dot gnu dot org
                   |dot org                     |
             Status|UNCONFIRMED                 |ASSIGNED
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2007-06-14 19:49:10
               date|                            |


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

Reply via email to