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
This commit is contained in:
parent
622dbadfab
commit
579f75aefa
5 changed files with 22 additions and 8 deletions
|
@ -1,3 +1,15 @@
|
|||
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 *.
|
||||
|
||||
2014-08-21 Marc Glisse <marc.glisse@inria.fr>
|
||||
|
||||
PR tree-optimization/62112
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -1398,14 +1398,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))
|
||||
{
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -3062,7 +3062,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. */
|
||||
|
|
Loading…
Add table
Reference in a new issue