aboutsummaryrefslogtreecommitdiff
path: root/gcc/genpeep.c
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2014-08-21 09:40:09 +0000
committerDavid Malcolm <dmalcolm@gcc.gnu.org>2014-08-21 09:40:09 +0000
commit579f75aefaf6ad541772195667b4f3afbf738fe5 (patch)
treebdaedc88d062be340eb32158d131b0b8754dd0f9 /gcc/genpeep.c
parent622dbadfab3efe2677b5e789b4e930482630a99e (diff)
downloadgcc-579f75aefaf6ad541772195667b4f3afbf738fe5.zip
gcc-579f75aefaf6ad541772195667b4f3afbf738fe5.tar.gz
gcc-579f75aefaf6ad541772195667b4f3afbf738fe5.tar.bz2
peephole returns an rtx_insn
2014-08-21 David Malcolm <dmalcolm@redhat.com> * 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 *. From-SVN: r214264
Diffstat (limited to 'gcc/genpeep.c')
-rw-r--r--gcc/genpeep.c6
1 files changed, 4 insertions, 2 deletions
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");