final.c (final_scan_insn): Make non-static again.
authorDaniel Jacobowitz <drow@mvista.com>
Sun, 18 Jan 2004 22:37:29 +0000 (22:37 +0000)
committerDaniel Jacobowitz <drow@gcc.gnu.org>
Sun, 18 Jan 2004 22:37:29 +0000 (22:37 +0000)
* final.c (final_scan_insn): Make non-static again.
* output.h (final_scan_insn): Re-add prototype.
* config/arc/arc.c (arc_output_function_epilogue): Add NULL
to final_scan_insn call.
* config/cris/cris.c (cris_target_asm_function_epilogue): Likewise.
* config/mips/mips.c (mips_output_conditional_branch): Likewise.
* config/pa/pa.c (output_lbranch, output_call): Likewise.
* config/sh/sh.c (print_slot): Likewise.
* config/sparc/sparc.c (sparc_nonflat_function_epilogue): Likewise.
(output_sibcall, sparc_flat_function_epilogue): Likewise.

From-SVN: r76117

gcc/ChangeLog
gcc/config/arc/arc.c
gcc/config/cris/cris.c
gcc/config/mips/mips.c
gcc/config/pa/pa.c
gcc/config/sh/sh.c
gcc/config/sparc/sparc.c
gcc/final.c
gcc/output.h

index 74e3bab63e38810aeaaeb166fa08da8a4f5cccb3..566043acea7c4e4bad69d27091c43b2178574d83 100644 (file)
@@ -1,3 +1,16 @@
+2004-01-18  Daniel Jacobowitz  <drow@mvista.com>
+
+       * final.c (final_scan_insn): Make non-static again.
+       * output.h (final_scan_insn): Re-add prototype.
+       * config/arc/arc.c (arc_output_function_epilogue): Add NULL
+       to final_scan_insn call.
+       * config/cris/cris.c (cris_target_asm_function_epilogue): Likewise.
+       * config/mips/mips.c (mips_output_conditional_branch): Likewise.
+       * config/pa/pa.c (output_lbranch, output_call): Likewise.
+       * config/sh/sh.c (print_slot): Likewise.
+       * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Likewise.
+       (output_sibcall, sparc_flat_function_epilogue): Likewise.
+
 2004-01-18  Jan Hubicka  <jh@suse.cz>
 
        * basic-block.h (try_redirect_by_replacing_jump): Declare.
index 876bef56828366c2e06dc1c4364f68d8aa6ea8d9..ad26913217e5ddcd5263fd63c4acabb52abb68b1 100644 (file)
@@ -1,5 +1,5 @@
 /* Subroutines used for code generation on the Argonaut ARC cpu.
-   Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+   Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
    Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -1303,7 +1303,7 @@ arc_output_function_epilogue (FILE *file, HOST_WIDE_INT size)
       /* ??? If stack intactness is important, always emit now.  */
       if (MUST_SAVE_RETURN_ADDR && epilogue_delay != NULL_RTX)
        {
-         final_scan_insn (XEXP (epilogue_delay, 0), file, 1, -2, 1);
+         final_scan_insn (XEXP (epilogue_delay, 0), file, 1, -2, 1, NULL);
          epilogue_delay = NULL_RTX;
        }
 
@@ -1335,7 +1335,8 @@ arc_output_function_epilogue (FILE *file, HOST_WIDE_INT size)
        {
          if (epilogue_delay)
            {
-             final_scan_insn (XEXP (epilogue_delay, 0), file, 1, -2, 1);
+             final_scan_insn (XEXP (epilogue_delay, 0), file, 1, -2, 1,
+                              NULL);
            }
        }
 
@@ -1360,7 +1361,7 @@ arc_output_function_epilogue (FILE *file, HOST_WIDE_INT size)
            abort ();
          if (restored < size)
            abort ();
-         final_scan_insn (XEXP (epilogue_delay, 0), file, 1, -2, 1);
+         final_scan_insn (XEXP (epilogue_delay, 0), file, 1, -2, 1, NULL);
        }
       else if (frame_pointer_needed && !fp_restored_p)
        {
index 79b194b2d95f7d418ae2cf18484e986ef1eb505c..f7e3d29d79a962a4d47213399bf5ea817aa6de67 100644 (file)
@@ -1,5 +1,6 @@
 /* Definitions for GCC.  Part of the machine description for CRIS.
-   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004
+   Free Software Foundation, Inc.
    Contributed by Axis Communications.  Written by Hans-Peter Nilsson.
 
 This file is part of GCC.
@@ -1259,7 +1260,7 @@ cris_target_asm_function_epilogue (FILE *file, HOST_WIDE_INT size)
 
       /* Output the delay-slot-insn the mandated way.  */
       final_scan_insn (XEXP (current_function_epilogue_delay_list, 0),
-                      file, 1, -2, 1);
+                      file, 1, -2, 1, NULL);
     }
   else if (file)
     {
index f0cc50c4d3bd9fce775a63e6ae8fdfb52a63d4d7..0cef0f32cf0596da5dda71d5a4b3825d2f637963 100644 (file)
@@ -9285,7 +9285,7 @@ mips_output_conditional_branch (rtx insn, rtx *operands, int two_operands_p,
             /* Output delay slot instruction.  */
             rtx insn = final_sequence;
             final_scan_insn (XVECEXP (insn, 0, 1), asm_out_file,
-                             optimize, 0, 1);
+                             optimize, 0, 1, NULL);
             INSN_DELETED_P (XVECEXP (insn, 0, 1)) = 1;
           }
        else
@@ -9304,7 +9304,7 @@ mips_output_conditional_branch (rtx insn, rtx *operands, int two_operands_p,
             /* Output delay slot instruction.  */
             rtx insn = final_sequence;
             final_scan_insn (XVECEXP (insn, 0, 1), asm_out_file,
-                             optimize, 0, 1);
+                             optimize, 0, 1, NULL);
             INSN_DELETED_P (XVECEXP (insn, 0, 1)) = 1;
           }
        else
index 1f8622d30f46c9da8e809eb02f94315d6b60ce32..bcb8329770c665523d2aca9bef8735f800251894 100644 (file)
@@ -1,6 +1,6 @@
 /* Subroutines for insn-output.c for HPPA.
    Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-   2002, 2003 Free Software Foundation, Inc.
+   2002, 2003, 2004 Free Software Foundation, Inc.
    Contributed by Tim Moore (moore@cs.utah.edu), based on sparc.c
 
 This file is part of GCC.
@@ -6125,7 +6125,7 @@ output_lbranch (rtx dest, rtx insn)
        abort ();
 
       final_scan_insn (NEXT_INSN (insn), asm_out_file,
-                      optimize, 0, 0);
+                      optimize, 0, 0, NULL);
 
       /* Now delete the delay insn.  */
       PUT_CODE (NEXT_INSN (insn), NOTE);
@@ -7129,7 +7129,7 @@ output_call (rtx insn, rtx call_dest, int sibcall)
              && !sibcall)
            {
              final_scan_insn (NEXT_INSN (insn), asm_out_file,
-                              optimize, 0, 0);
+                              optimize, 0, 0, NULL);
 
              /* Now delete the delay insn.  */
              PUT_CODE (NEXT_INSN (insn), NOTE);
@@ -7177,7 +7177,8 @@ output_call (rtx insn, rtx call_dest, int sibcall)
              /* A non-jump insn in the delay slot.  By definition we can
                 emit this insn before the call (and in fact before argument
                 relocating.  */
-             final_scan_insn (NEXT_INSN (insn), asm_out_file, optimize, 0, 0);
+             final_scan_insn (NEXT_INSN (insn), asm_out_file, optimize, 0, 0,
+                              NULL);
 
              /* Now delete the delay insn.  */
              PUT_CODE (NEXT_INSN (insn), NOTE);
index f605aff5fb414be3d1e589974ff4cb1e5efae748..db67097be3e1d7c97e3a8b18dc2de89d2c1354b9 100644 (file)
@@ -1096,7 +1096,7 @@ output_movedouble (rtx insn ATTRIBUTE_UNUSED, rtx operands[],
 static void
 print_slot (rtx insn)
 {
-  final_scan_insn (XVECEXP (insn, 0, 1), asm_out_file, optimize, 0, 1);
+  final_scan_insn (XVECEXP (insn, 0, 1), asm_out_file, optimize, 0, 1, NULL);
 
   INSN_DELETED_P (XVECEXP (insn, 0, 1)) = 1;
 }
index a3fdcc6cdb26675ce883afe9760eb24a55c40172..7e008de1c0d42bf910e875dda676d4e00b75767a 100644 (file)
@@ -1,6 +1,6 @@
 /* Subroutines for insn-output.c for SPARC.
    Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-   1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+   1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
    Contributed by Michael Tiemann (tiemann@cygnus.com)
    64-bit SPARC-V9 support by Michael Tiemann, Jim Wilson, and Doug Evans,
    at Cygnus Support.
@@ -4539,7 +4539,7 @@ sparc_nonflat_function_epilogue (FILE *file,
                     ? "\treturn\t%i7+12\n"
                     : "\treturn\t%i7+8\n", file);
              final_scan_insn (XEXP (current_function_epilogue_delay_list, 0),
-                              file, 1, 0, 0);
+                              file, 1, 0, 0, NULL);
            }
          else
            {
@@ -4564,7 +4564,7 @@ sparc_nonflat_function_epilogue (FILE *file,
              insn = emit_jump_insn (insn);
 
              sparc_emitting_epilogue = true;
-             final_scan_insn (insn, file, 1, 0, 1);
+             final_scan_insn (insn, file, 1, 0, 1, NULL);
              sparc_emitting_epilogue = false;
            }
        }
@@ -4586,7 +4586,7 @@ sparc_nonflat_function_epilogue (FILE *file,
        abort ();
       fprintf (file, "\t%s\n", ret);
       final_scan_insn (XEXP (current_function_epilogue_delay_list, 0),
-                      file, 1, 0, 1);
+                      file, 1, 0, 1, NULL);
     }
   /* Output 'nop' instead of 'sub %sp,-0,%sp' when no frame, so as to
         avoid generating confusing assembly language output.  */
@@ -4629,7 +4629,7 @@ output_sibcall (rtx insn, rtx call_operand)
          if (! delay)
            abort ();
 
-         final_scan_insn (delay, asm_out_file, 1, 0, 1);
+         final_scan_insn (delay, asm_out_file, 1, 0, 1, NULL);
          PATTERN (delay) = gen_blockage ();
          INSN_CODE (delay) = -1;
          delay_slot = 0;
@@ -4659,7 +4659,7 @@ output_sibcall (rtx insn, rtx call_operand)
          if (! delay)
            abort ();
 
-         final_scan_insn (delay, asm_out_file, 1, 0, 1);
+         final_scan_insn (delay, asm_out_file, 1, 0, 1, NULL);
          PATTERN (delay) = gen_blockage ();
          INSN_CODE (delay) = -1;
          delay_slot = 0;
@@ -7916,7 +7916,7 @@ sparc_flat_function_epilogue (FILE *file, HOST_WIDE_INT size)
        {
          if (size)
            abort ();
-         final_scan_insn (XEXP (epilogue_delay, 0), file, 1, -2, 1);
+         final_scan_insn (XEXP (epilogue_delay, 0), file, 1, -2, 1, NULL);
        }
 
       else if (size > 4096)
index c146f189419b4627672fe5bb25bd199a9f16f107..dd5b64ec53f56206acc4d2b5a47f9e0a2b852716 100644 (file)
@@ -235,7 +235,6 @@ static int final_addr_vec_align (rtx);
 #ifdef HAVE_ATTR_length
 static int align_fuzz (rtx, rtx, int, unsigned);
 #endif
-static rtx final_scan_insn (rtx, FILE *, int, int, int, int *);
 \f
 /* Initialize data in final at the beginning of a compilation.  */
 
@@ -1638,7 +1637,7 @@ output_alternate_entry_point (FILE *file, rtx insn)
    at the beginning of the second basic block, whichever comes
    first.  */
 
-static rtx
+rtx
 final_scan_insn (rtx insn, FILE *file, int optimize ATTRIBUTE_UNUSED,
                 int prescan, int nopeepholes ATTRIBUTE_UNUSED,
                 int *seen)
index 5c9497a3dff63de18f2d0345a14a08280bdfce0a..05a3743726f5057e1ce21d7a4a3bb4dfc25ad60a 100644 (file)
@@ -68,6 +68,11 @@ extern void final_end_function (void);
 /* Output assembler code for some insns: all or part of a function.  */
 extern void final (rtx, FILE *, int, int);
 
+/* The final scan for one insn, INSN.  Args are same as in `final', except
+   that INSN is the insn being scanned.  Value returned is the next insn to
+   be scanned.  */
+extern rtx final_scan_insn (rtx, FILE *, int, int, int, int *);
+
 /* Replace a SUBREG with a REG or a MEM, based on the thing it is a
    subreg of.  */
 extern rtx alter_subreg (rtx *);