From ef38d75afccfbe630a2ba29867a3a8cc7a0ac867 Mon Sep 17 00:00:00 2001
From: David Malcolm <dmalcolm@redhat.com>
Date: Thu, 10 Jul 2014 13:18:44 -0400
Subject: [PATCH 143/236] config/pa: Use rtx_insn

gcc/
	* config/pa/pa-protos.h (pa_output_call): Strengthen first param
	from rtx to rtx_insn *.
	(pa_output_indirect_call): Likewise.
	(pa_adjust_insn_length): Likewise.
	(pa_attr_length_millicode_call): Likewise.
	(pa_attr_length_call): Likewise.
	(pa_attr_length_indirect_call): Likewise.

	* config/pa/pa.c (pa_adjust_insn_length): Likewise for param
	"insn".
	(pa_attr_length_millicode_call): Likewise.
	(pa_attr_length_call): Likewise.
	(pa_output_call): Likewise.
	(pa_attr_length_indirect_call): Likewise.
	(pa_output_indirect_call): Likewise.
---
 gcc/config/pa/pa-protos.h | 12 ++++++------
 gcc/config/pa/pa.c        | 14 +++++++-------
 2 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/gcc/config/pa/pa-protos.h b/gcc/config/pa/pa-protos.h
index e72abea..361c3ba 100644
--- a/gcc/config/pa/pa-protos.h
+++ b/gcc/config/pa/pa-protos.h
@@ -42,8 +42,8 @@ extern const char *pa_output_dbra (rtx *, rtx, int);
 extern const char *pa_output_movb (rtx *, rtx, int, int);
 extern const char *pa_output_parallel_movb (rtx *, rtx);
 extern const char *pa_output_parallel_addb (rtx *, rtx);
-extern const char *pa_output_call (rtx, rtx, int);
-extern const char *pa_output_indirect_call (rtx, rtx);
+extern const char *pa_output_call (rtx_insn *, rtx, int);
+extern const char *pa_output_indirect_call (rtx_insn *, rtx);
 extern const char *pa_output_millicode_call (rtx, rtx);
 extern const char *pa_output_mul_insn (int, rtx);
 extern const char *pa_output_div_insn (rtx *, int, rtx);
@@ -54,7 +54,7 @@ extern void pa_output_global_address (FILE *, rtx, int);
 extern void pa_print_operand (FILE *, rtx, int);
 extern void pa_encode_label (rtx);
 extern int pa_symbolic_expression_p (rtx);
-extern int pa_adjust_insn_length (rtx, int);
+extern int pa_adjust_insn_length (rtx_insn *, int);
 extern int pa_fmpyaddoperands (rtx *);
 extern int pa_fmpysuboperands (rtx *);
 extern void pa_emit_bcond_fp (rtx[]);
@@ -63,9 +63,9 @@ extern int pa_emit_hpdiv_const (rtx *, int);
 extern int pa_is_function_label_plus_const (rtx);
 extern int pa_jump_in_call_delay (rtx);
 extern int pa_fpstore_bypass_p (rtx, rtx);
-extern int pa_attr_length_millicode_call (rtx);
-extern int pa_attr_length_call (rtx, int);
-extern int pa_attr_length_indirect_call (rtx);
+extern int pa_attr_length_millicode_call (rtx_insn *);
+extern int pa_attr_length_call (rtx_insn *, int);
+extern int pa_attr_length_indirect_call (rtx_insn *);
 extern rtx pa_legitimize_reload_address (rtx, enum machine_mode,
 					 int, int, int);
 
diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c
index d52d52f..779f49b 100644
--- a/gcc/config/pa/pa.c
+++ b/gcc/config/pa/pa.c
@@ -4891,7 +4891,7 @@ pa_issue_rate (void)
    Also compute the length of an inline block move here as it is too
    complicated to express as a length attribute in pa.md.  */
 int
-pa_adjust_insn_length (rtx insn, int length)
+pa_adjust_insn_length (rtx_insn *insn, int length)
 {
   rtx pat = PATTERN (insn);
 
@@ -4899,7 +4899,7 @@ pa_adjust_insn_length (rtx insn, int length)
   if ((unsigned int) length >= INT_MAX)
     {
       if (GET_CODE (pat) == SEQUENCE)
-	insn = XVECEXP (pat, 0, 0);
+	insn = as_a <rtx_insn *> (XVECEXP (pat, 0, 0));
 
       switch (get_attr_type (insn))
 	{
@@ -7492,7 +7492,7 @@ length_fp_args (rtx insn)
    over estimate the length than to under estimate it.  */
 
 int
-pa_attr_length_millicode_call (rtx insn)
+pa_attr_length_millicode_call (rtx_insn *insn)
 {
   unsigned long distance = -1;
   unsigned long total = IN_NAMED_SECTION_P (cfun->decl) ? 0 : total_code_bytes;
@@ -7688,7 +7688,7 @@ pa_output_millicode_call (rtx insn, rtx call_dest)
    these sequences.  */
 
 int
-pa_attr_length_call (rtx insn, int sibcall)
+pa_attr_length_call (rtx_insn *insn, int sibcall)
 {
   int local_call;
   rtx call, call_dest;
@@ -7778,7 +7778,7 @@ pa_attr_length_call (rtx insn, int sibcall)
    CALL_DEST is the routine we are calling.  */
 
 const char *
-pa_output_call (rtx insn, rtx call_dest, int sibcall)
+pa_output_call (rtx_insn *insn, rtx call_dest, int sibcall)
 {
   int delay_insn_deleted = 0;
   int delay_slot_filled = 0;
@@ -8067,7 +8067,7 @@ pa_output_call (rtx insn, rtx call_dest, int sibcall)
    the sequence itself.  */
 
 int
-pa_attr_length_indirect_call (rtx insn)
+pa_attr_length_indirect_call (rtx_insn *insn)
 {
   unsigned long distance = -1;
   unsigned long total = IN_NAMED_SECTION_P (cfun->decl) ? 0 : total_code_bytes;
@@ -8100,7 +8100,7 @@ pa_attr_length_indirect_call (rtx insn)
 }
 
 const char *
-pa_output_indirect_call (rtx insn, rtx call_dest)
+pa_output_indirect_call (rtx_insn *insn, rtx call_dest)
 {
   rtx xoperands[1];
 
-- 
1.8.5.3

