With the final shrink-wrapping patch applied, I see failures in
dwarf2cfi on mips64-elf. The problem is that reorg.c uses copy_rtx to
copy instructions, and for some reason that clears the frame_related
bit. We end up with a prologue insn in a delay slot, and dwarf2cfi
disregards its effects.

I see no reason to do this, and testing (BSRT i686-linux, plus
mips64-elf sim testing) showed no reason either. Ok?


Bernd
        * rtl.c (copy_rtx): Do not handle frame_related, jump or call
        flags specially.

Index: gcc/rtl.c
===================================================================
--- gcc/rtl.c   (revision 178135)
+++ gcc/rtl.c   (working copy)
@@ -289,12 +289,6 @@ copy_rtx (rtx orig)
      walks over the RTL.  */
   RTX_FLAG (copy, used) = 0;
 
-  /* We do not copy FRAME_RELATED for INSNs.  */
-  if (INSN_P (orig))
-    RTX_FLAG (copy, frame_related) = 0;
-  RTX_FLAG (copy, jump) = RTX_FLAG (orig, jump);
-  RTX_FLAG (copy, call) = RTX_FLAG (orig, call);
-
   format_ptr = GET_RTX_FORMAT (GET_CODE (copy));
 
   for (i = 0; i < GET_RTX_LENGTH (GET_CODE (copy)); i++)

Reply via email to