This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH 045/236] define_bypass guard functions take a pair of rtx_insn
- From: David Malcolm <dmalcolm at redhat dot com>
- To: Jeff Law <law at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Thu, 21 Aug 2014 09:59:25 -0400
- Subject: Re: [PATCH 045/236] define_bypass guard functions take a pair of rtx_insn
- Authentication-results: sourceware.org; auth=none
- References: <1407345815-14551-1-git-send-email-dmalcolm at redhat dot com> <1407345815-14551-46-git-send-email-dmalcolm at redhat dot com> <53EBA96C dot 3090601 at redhat dot com>
On Wed, 2014-08-13 at 12:07 -0600, Jeff Law wrote:
> On 08/06/14 11:20, David Malcolm wrote:
> > (define_bypass) clauses in .md files can specify the name of a guard
> > function as their final operand. Currently these functions are called
> > with a pair of rtx. This patch strengthens insn-automata.c so that such
> > guard functions are passed a pair of rtx_insn *, allowing these guard
> > functions to be similarly strengthened in the per-target phase of this
> > patch kit.
> >
> > gcc/
> > * genautomata.c (output_internal_insn_latency_func): When writing
> > the function "internal_insn_latency" to insn-automata.c,
> > strengthen params "insn" and "insn2" from rtx to rtx_insn *, thus
> > allowing the optional guard function of (define_bypass) clauses to
> > expect a pair of rtx_insn *, rather than a pair of rtx.
> > (output_insn_latency_func): When writing the function
> > "insn_latency", add an "uncast_" prefix to params "insn" and
> > "insn2", reintroducing "insn" and "insn2" as rtx_insn * locals
> > using checked casts from the params, thus enabling the above
> > change to the generated "internal_insn_latency" function.
> OK.
Thanks; committed to trunk as r214273, with the trivial fixup of
as_a_nullable to safe_as_a.