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
