]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR middle-end/18590 (ICE in add_insn_before, at emit-rtl.c:3599)
authorEric Botcazou <ebotcazou@libertysurf.fr>
Thu, 16 Dec 2004 10:03:02 +0000 (11:03 +0100)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Thu, 16 Dec 2004 10:03:02 +0000 (10:03 +0000)
PR middle-end/18590
* function.c (fixup_var_refs_insns_with_hash): Do not invoke
fixup_var_refs_insn on insns marked as deleted.

From-SVN: r92253

gcc/ChangeLog
gcc/function.c

index c918624c4a4c4b9352837ad8f93375fc6160455e..ae691590a1e7a1d64b6274ebef5f3b74942d1393 100644 (file)
@@ -1,3 +1,9 @@
+2004-12-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR middle-end/18590
+       * function.c (fixup_var_refs_insns_with_hash): Do not invoke
+       fixup_var_refs_insn on insns marked as deleted.
+
 2004-12-15  Richard Henderson  <rth@redhat.com>
 
        PR target/19028
index 747f1231f309cc53a76ea9b804bb639416a4a872..24e36b6ddae90cb8c19e84ea7b384d31c59bbc41 100644 (file)
@@ -1639,7 +1639,7 @@ fixup_var_refs_insns_with_hash (htab_t ht, rtx var, enum machine_mode promoted_m
   tmp.key = var;
   ime = htab_find (ht, &tmp);
   for (insn_list = ime->insns; insn_list != 0; insn_list = XEXP (insn_list, 1))
-    if (INSN_P (XEXP (insn_list, 0)))
+    if (INSN_P (XEXP (insn_list, 0)) && !INSN_DELETED_P (XEXP (insn_list, 0)))
       fixup_var_refs_insn (XEXP (insn_list, 0), var, promoted_mode,
                           unsignedp, 1, may_share);
 }