[PATCH 235/236] Make next_insn and previous_insn require an rtx_insn *

David Malcolm dmalcolm@redhat.com
Wed Aug 6 17:43:00 GMT 2014


gcc/
	* rtl.h (previous_insn): Strengthen param from rtx to rtx_insn *.
	(next_insn): Likewise.
	* emit-rtl.c (next_insn): Likewise.
	(previous_insn): Likewise.
	* config/pa/pa.c (remove_useless_addtr_insns): Strenghten locals
	"insn" and "next" from rtx to rtx_insn *.
	* config/picochip/picochip.c (picochip_reorg): Likewise for locals
	"insn", "insn1", "vliw_start",  "prologue_end_note",
	"last_insn_in_packet".
---
 gcc/config/pa/pa.c             | 5 +++--
 gcc/config/picochip/picochip.c | 6 +++---
 gcc/emit-rtl.c                 | 6 ++----
 gcc/rtl.h                      | 4 ++--
 4 files changed, 10 insertions(+), 11 deletions(-)

diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c
index 9579db0..5b3688c 100644
--- a/gcc/config/pa/pa.c
+++ b/gcc/config/pa/pa.c
@@ -3314,7 +3314,7 @@ pa_output_ascii (FILE *file, const char *p, int size)
 static void
 remove_useless_addtr_insns (int check_notes)
 {
-  rtx insn;
+  rtx_insn *insn;
   static int pass = 0;
 
   /* This is fairly cheap, so always run it when optimizing.  */
@@ -3366,7 +3366,8 @@ remove_useless_addtr_insns (int check_notes)
 	 reverse the comparison & the branch to avoid add,tr insns.  */
       for (insn = get_insns (); insn; insn = next_insn (insn))
 	{
-	  rtx tmp, next;
+	  rtx tmp;
+	  rtx_insn *next;
 
 	  /* Ignore anything that isn't an INSN.  */
 	  if (! NONJUMP_INSN_P (insn))
diff --git a/gcc/config/picochip/picochip.c b/gcc/config/picochip/picochip.c
index 3131d28..c59bf76 100644
--- a/gcc/config/picochip/picochip.c
+++ b/gcc/config/picochip/picochip.c
@@ -3248,7 +3248,7 @@ reorder_var_tracking_notes (void)
 void
 picochip_reorg (void)
 {
-  rtx insn, insn1, vliw_start = NULL_RTX;
+  rtx_insn *insn, *insn1, *vliw_start = NULL;
   int vliw_insn_location = 0;
 
   /* We are freeing block_for_insn in the toplev to keep compatibility
@@ -3325,8 +3325,8 @@ picochip_reorg (void)
      of VLIW packets. */
   if (picochip_schedule_type == DFA_TYPE_SPEED)
     {
-      rtx prologue_end_note = NULL;
-      rtx last_insn_in_packet = NULL;
+      rtx_insn *prologue_end_note = NULL;
+      rtx_insn *last_insn_in_packet = NULL;
 
       for (insn = get_insns (); insn; insn = next_insn (insn))
 	{
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index 2fc07d6..f6b9356 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -3201,9 +3201,8 @@ get_max_insn_count (void)
    of the sequence.  */
 
 rtx_insn *
-next_insn (rtx uncast_insn)
+next_insn (rtx_insn *insn)
 {
-  rtx_insn *insn = as_a_nullable <rtx_insn *> (uncast_insn);
   if (insn)
     {
       insn = NEXT_INSN (insn);
@@ -3219,9 +3218,8 @@ next_insn (rtx uncast_insn)
    of the sequence.  */
 
 rtx_insn *
-previous_insn (rtx uncast_insn)
+previous_insn (rtx_insn *insn)
 {
-  rtx_insn *insn = as_a_nullable <rtx_insn *> (uncast_insn);
   if (insn)
     {
       insn = PREV_INSN (insn);
diff --git a/gcc/rtl.h b/gcc/rtl.h
index 49ad08b..71aefc3 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -2607,8 +2607,8 @@ extern rtx_insn *emit_use (rtx);
 extern rtx_insn *make_insn_raw (rtx);
 extern void add_function_usage_to (rtx, rtx);
 extern rtx_call_insn *last_call_insn (void);
-extern rtx_insn *previous_insn (rtx);
-extern rtx_insn *next_insn (rtx);
+extern rtx_insn *previous_insn (rtx_insn *);
+extern rtx_insn *next_insn (rtx_insn *);
 extern rtx_insn *prev_nonnote_insn (rtx);
 extern rtx_insn *prev_nonnote_insn_bb (rtx);
 extern rtx_insn *next_nonnote_insn (rtx);
-- 
1.8.5.3



More information about the Gcc-patches mailing list