]> 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 13:58:56 +0000 (14:58 +0100)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Thu, 16 Dec 2004 13:58:56 +0000 (13:58 +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: r92260

gcc/ChangeLog
gcc/function.c

index be771aecadff849f14349644333710fe87756c3d..15853bfec3084a61f8dd6b290606fc66425b68f4 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/19005
index f69b7898955487fe35c0a9917bc0a4a6bdc979a6..58ebf6deae85030729b62d0fe1618091be15c383 100644 (file)
@@ -1716,7 +1716,7 @@ fixup_var_refs_insns_with_hash (ht, var, promoted_mode, unsignedp, may_share)
   tmp.key = var;
   ime = (struct insns_for_mem_entry *) 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);
 }