patch to permit more one bypasses for insn pairs

Vladimir Makarov vmakarov@redhat.com
Thu Jan 8 20:55:00 GMT 2009


Here the patch extending semantics for define_bypass.  If we have

(define_bypass 1 "foo" "bar" "cond1")
(define_bypass 2 "foo" "bar")
(define_bypass 3 "foo" "bar" "cond2")

The latency time for pair of insns foo->bar will be 1 if cond1 returns 
true, otherwise 3 if cond2 returns true, otherwise 2.

I've not decided yet to commit the patch to trunk now or wait for the 
stage1.  The patch should be safe because more one define_bypass were 
prohibited and therefore no one existing automata should be affected by 
the patch.

2009-01-07  Vladimir Makarov  <vmakarov@redhat.com>

    * genautomata.c: Add a new year to the copyright.  Add a new
    reference.
    (struct insn_reserv_decl): Add comments for member bypass_list.
    (find_bypass): Remove.
    (insert_bypass): New.
    (process_decls): Use insert_bypass.
    (output_internal_insn_latency_func): Output all bypasses with the
    same input insn in one switch case.

    * rtl.def (define_bypass): Describe bypass choice.
    
    * doc/md.texi (define_bypass): Ditto.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: bypass.patch
Type: text/x-patch
Size: 9422 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20090108/e9bacdc3/attachment.bin>


More information about the Gcc-patches mailing list