OSDN Git Service

* config/xtensa/xtensa.c (xtensa_expand_nonlocal_goto): Use
authorbwilson <bwilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 14 Jun 2007 04:49:42 +0000 (04:49 +0000)
committerbwilson <bwilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 14 Jun 2007 04:49:42 +0000 (04:49 +0000)
        validate_replace_rtx instead of replace_rtx.
        (xtensa_expand_prologue): Call df_insn_rescan after replace_rtx.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125697 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/xtensa/xtensa.c

index ecb6746..dc80a07 100644 (file)
@@ -1,3 +1,9 @@
+2007-06-14  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/xtensa.c (xtensa_expand_nonlocal_goto): Use
+       validate_replace_rtx instead of replace_rtx.
+       (xtensa_expand_prologue): Call df_insn_rescan after replace_rtx.
+
 2007-06-14  Danny Smith  <dannysmith@users.sourceforge.net>
 
        * config/i386/cygming.h (DWARF_FRAME_REGNUM): Define.
index c331a7f..285403c 100644 (file)
@@ -1180,9 +1180,8 @@ xtensa_expand_nonlocal_goto (rtx *operands)
   if (GET_CODE (containing_fp) != REG)
     containing_fp = force_reg (Pmode, containing_fp);
 
-  goto_handler = replace_rtx (copy_rtx (goto_handler),
-                             virtual_stack_vars_rtx,
-                             containing_fp);
+  goto_handler = copy_rtx (goto_handler);
+  validate_replace_rtx (virtual_stack_vars_rtx, containing_fp, goto_handler);
 
   emit_library_call (gen_rtx_SYMBOL_REF (Pmode, "__xtensa_nonlocal_goto"),
                     0, VOIDmode, 2,
@@ -2078,9 +2077,12 @@ xtensa_expand_prologue (void)
               insn = NEXT_INSN (insn))
            {
              if (INSN_P (insn))
-               PATTERN (insn) = replace_rtx (copy_rtx (PATTERN (insn)),
-                                             hard_frame_pointer_rtx,
-                                             stack_pointer_rtx);
+               {
+                 PATTERN (insn) = replace_rtx (copy_rtx (PATTERN (insn)),
+                                               hard_frame_pointer_rtx,
+                                               stack_pointer_rtx);
+                 df_insn_rescan (insn);
+               }
            }
        }
       else