diff mbox

[043/236] peephole returns an rtx_insn

Message ID 1407345815-14551-44-git-send-email-dmalcolm@redhat.com
State New
Headers show

Commit Message

David Malcolm Aug. 6, 2014, 5:20 p.m. UTC
gcc/
	* output.h (peephole): Strengthen return type from rtx to rtx_insn *.
	* rtl.h (delete_for_peephole): Likewise for both params.
	* genpeep.c (main): In generated "peephole" function, strengthen
	return type and local "insn" from rtx to rtx_insn *.  For now,
	rename param "ins1" to "uncast_ins1", adding "ins1" back as an
	rtx_insn *, with a checked cast.
	* jump.c (delete_for_peephole): Strengthen params "from", "to" and
	locals "insn", "next", "prev" from rtx to rtx_insn *.
---
 gcc/genpeep.c | 6 ++++--
 gcc/jump.c    | 8 ++++----
 gcc/output.h  | 2 +-
 gcc/rtl.h     | 2 +-
 4 files changed, 10 insertions(+), 8 deletions(-)

Comments

Jeff Law Aug. 13, 2014, 6:06 p.m. UTC | #1
On 08/06/14 11:20, David Malcolm wrote:
> gcc/
> 	* output.h (peephole): Strengthen return type from rtx to rtx_insn *.
> 	* rtl.h (delete_for_peephole): Likewise for both params.
> 	* genpeep.c (main): In generated "peephole" function, strengthen
> 	return type and local "insn" from rtx to rtx_insn *.  For now,
> 	rename param "ins1" to "uncast_ins1", adding "ins1" back as an
> 	rtx_insn *, with a checked cast.
> 	* jump.c (delete_for_peephole): Strengthen params "from", "to" and
> 	locals "insn", "next", "prev" from rtx to rtx_insn *.
OK
Jeff
David Malcolm Aug. 21, 2014, 9:37 a.m. UTC | #2
On Wed, 2014-08-13 at 12:06 -0600, Jeff Law wrote:
> On 08/06/14 11:20, David Malcolm wrote:
> > gcc/
> > 	* output.h (peephole): Strengthen return type from rtx to rtx_insn *.
> > 	* rtl.h (delete_for_peephole): Likewise for both params.
> > 	* genpeep.c (main): In generated "peephole" function, strengthen
> > 	return type and local "insn" from rtx to rtx_insn *.  For now,
> > 	rename param "ins1" to "uncast_ins1", adding "ins1" back as an
> > 	rtx_insn *, with a checked cast.
> > 	* jump.c (delete_for_peephole): Strengthen params "from", "to" and
> > 	locals "insn", "next", "prev" from rtx to rtx_insn *.
> OK
Thanks; committed to trunk as r214264.
diff mbox

Patch

diff --git a/gcc/genpeep.c b/gcc/genpeep.c
index a8afadb..bc2785e 100644
--- a/gcc/genpeep.c
+++ b/gcc/genpeep.c
@@ -378,8 +378,10 @@  from the machine description file `md'.  */\n\n");
   printf ("extern rtx peep_operand[];\n\n");
   printf ("#define operands peep_operand\n\n");
 
-  printf ("rtx\npeephole (rtx ins1)\n{\n");
-  printf ("  rtx insn ATTRIBUTE_UNUSED, x ATTRIBUTE_UNUSED, pat ATTRIBUTE_UNUSED;\n\n");
+  printf ("rtx_insn *\npeephole (rtx uncast_ins1)\n{\n");
+  printf ("  rtx_insn *ins1 = as_a <rtx_insn *> (uncast_ins1);\n");
+  printf ("  rtx_insn *insn ATTRIBUTE_UNUSED;\n");
+  printf ("  rtx x ATTRIBUTE_UNUSED, pat ATTRIBUTE_UNUSED;\n\n");
 
   /* Early out: no peepholes for insns followed by barriers.  */
   printf ("  if (NEXT_INSN (ins1)\n");
diff --git a/gcc/jump.c b/gcc/jump.c
index 0cac620..1a150ac 100644
--- a/gcc/jump.c
+++ b/gcc/jump.c
@@ -1388,14 +1388,14 @@  delete_related_insns (rtx insn)
    peephole insn that will replace them.  */
 
 void
-delete_for_peephole (rtx from, rtx to)
+delete_for_peephole (rtx_insn *from, rtx_insn *to)
 {
-  rtx insn = from;
+  rtx_insn *insn = from;
 
   while (1)
     {
-      rtx next = NEXT_INSN (insn);
-      rtx prev = PREV_INSN (insn);
+      rtx_insn *next = NEXT_INSN (insn);
+      rtx_insn *prev = PREV_INSN (insn);
 
       if (!NOTE_P (insn))
 	{
diff --git a/gcc/output.h b/gcc/output.h
index 2b32601..53d575a 100644
--- a/gcc/output.h
+++ b/gcc/output.h
@@ -281,7 +281,7 @@  extern void assemble_addr_to_section (rtx, section *);
 extern int get_pool_size (void);
 
 #ifdef HAVE_peephole
-extern rtx peephole (rtx);
+extern rtx_insn *peephole (rtx);
 #endif
 
 extern void output_shared_constant_pool (void);
diff --git a/gcc/rtl.h b/gcc/rtl.h
index f28a62a..0ad200e 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -3035,7 +3035,7 @@  extern rtx reversed_comparison (const_rtx, enum machine_mode);
 extern enum rtx_code reversed_comparison_code (const_rtx, const_rtx);
 extern enum rtx_code reversed_comparison_code_parts (enum rtx_code, const_rtx,
 						     const_rtx, const_rtx);
-extern void delete_for_peephole (rtx, rtx);
+extern void delete_for_peephole (rtx_insn *, rtx_insn *);
 extern int condjump_in_parallel_p (const_rtx);
 
 /* In emit-rtl.c.  */