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.
Jeff

Reply via email to