From cb97293f56b6669a8d80417f56ffeac71593b6a5 Mon Sep 17 00:00:00 2001
From: David Malcolm <dmalcolm@redhat.com>
Date: Wed, 25 Jun 2014 11:40:16 -0400
Subject: [PATCH 100/236] print-rtl.c: Use rtx_insn for various debug_
 functions (also touches config/rs6000/rs6000.c)

gcc/
	* rtl.h (debug_rtx_list): Strengthen param 1 "x" from const_rtx to
	const rtx_insn *.
	(debug_rtx_range): Likewise for params 1 and 2 "start" and "end".
	(debug_rtx_find): Likewise for param 1 "x".

	* print-rtl.c (debug_rtx_list): Strengthen param 1 "x" from
	const_rtx to const rtx_insn *.  Likewise for local "insn".
	(debug_rtx_range): Likewise for params 1 and 2 "start" and "end".
	(debug_rtx_find): Likewise for param 1 "x".
	(print_rtl): Likewise for local "tmp_rtx", adding a checked cast
	from const_rtx to const rtx_insn * within the appropriate cases of
	the switch statement.

	* config/rs6000/rs6000.c (rs6000_debug_legitimize_address):
	Strengthen local "insns" from rtx to rtx_insn * since this is
	passed to a call to debug_rtx_list.
---
 gcc/config/rs6000/rs6000.c |  2 +-
 gcc/print-rtl.c            | 24 ++++++++++++++----------
 gcc/rtl.h                  |  6 +++---
 3 files changed, 18 insertions(+), 14 deletions(-)

diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index d90afcc..8942e2e 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -6803,7 +6803,7 @@ static rtx
 rs6000_debug_legitimize_address (rtx x, rtx oldx, enum machine_mode mode)
 {
   rtx ret;
-  rtx insns;
+  rtx_insn *insns;
 
   start_sequence ();
   ret = rs6000_legitimize_address (x, oldx, mode);
diff --git a/gcc/print-rtl.c b/gcc/print-rtl.c
index 5dc8e94..be1d01a 100644
--- a/gcc/print-rtl.c
+++ b/gcc/print-rtl.c
@@ -699,14 +699,15 @@ DEBUG_VARIABLE int debug_rtx_count = 0;	/* 0 is treated as equivalent to 1 */
 /* Call this function to print list from X on.
 
    N is a count of the rtx's to print. Positive values print from the specified
-   rtx on.  Negative values print a window around the rtx.
-   EG: -5 prints 2 rtx's on either side (in addition to the specified rtx).  */
+   rtx_insn on.  Negative values print a window around the rtx_insn.
+   EG: -5 prints 2 rtx_insn's on either side (in addition to the specified
+   rtx_insn).  */
 
 DEBUG_FUNCTION void
-debug_rtx_list (const_rtx x, int n)
+debug_rtx_list (const rtx_insn *x, int n)
 {
   int i,count;
-  const_rtx insn;
+  const rtx_insn *insn;
 
   count = n == 0 ? 1 : n < 0 ? -n : n;
 
@@ -727,10 +728,11 @@ debug_rtx_list (const_rtx x, int n)
     }
 }
 
-/* Call this function to print an rtx list from START to END inclusive.  */
+/* Call this function to print an rtx_insn list from START to END
+   inclusive.  */
 
 DEBUG_FUNCTION void
-debug_rtx_range (const_rtx start, const_rtx end)
+debug_rtx_range (const rtx_insn *start, const rtx_insn *end)
 {
   while (1)
     {
@@ -742,12 +744,12 @@ debug_rtx_range (const_rtx start, const_rtx end)
     }
 }
 
-/* Call this function to search an rtx list to find one with insn uid UID,
+/* Call this function to search an rtx_insn list to find one with insn uid UID,
    and then call debug_rtx_list to print it, using DEBUG_RTX_COUNT.
    The found insn is returned to enable further debugging analysis.  */
 
 DEBUG_FUNCTION const_rtx
-debug_rtx_find (const_rtx x, int uid)
+debug_rtx_find (const rtx_insn *x, int uid)
 {
   while (x != 0 && INSN_UID (x) != uid)
     x = NEXT_INSN (x);
@@ -772,7 +774,7 @@ debug_rtx_find (const_rtx x, int uid)
 void
 print_rtl (FILE *outf, const_rtx rtx_first)
 {
-  const_rtx tmp_rtx;
+  const rtx_insn *tmp_rtx;
 
   outfile = outf;
   sawclose = 0;
@@ -792,7 +794,9 @@ print_rtl (FILE *outf, const_rtx rtx_first)
       case CODE_LABEL:
       case JUMP_TABLE_DATA:
       case BARRIER:
-	for (tmp_rtx = rtx_first; tmp_rtx != 0; tmp_rtx = NEXT_INSN (tmp_rtx))
+	for (tmp_rtx = as_a <const rtx_insn *> (rtx_first);
+	     tmp_rtx != 0;
+	     tmp_rtx = NEXT_INSN (tmp_rtx))
 	  {
 	    fputs (print_rtx_head, outfile);
 	    print_rtx (tmp_rtx);
diff --git a/gcc/rtl.h b/gcc/rtl.h
index 1f6aa8d..308a219 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -3155,9 +3155,9 @@ extern const char *print_rtx_head;
 extern void debug (const rtx_def &ref);
 extern void debug (const rtx_def *ptr);
 extern void debug_rtx (const_rtx);
-extern void debug_rtx_list (const_rtx, int);
-extern void debug_rtx_range (const_rtx, const_rtx);
-extern const_rtx debug_rtx_find (const_rtx, int);
+extern void debug_rtx_list (const rtx_insn *, int);
+extern void debug_rtx_range (const rtx_insn *, const rtx_insn *);
+extern const_rtx debug_rtx_find (const rtx_insn *, int);
 extern void print_mem_expr (FILE *, const_tree);
 extern void print_rtl (FILE *, const_rtx);
 extern void print_simple_rtl (FILE *, const_rtx);
-- 
1.8.5.3

