[Bug middle-end/47782] Infinite cycle generates segmentation fault in targets without cbranch support

bonzini at gnu dot org gcc-bugzilla@gcc.gnu.org
Thu Feb 17 16:43:00 GMT 2011


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47782

Paolo Bonzini <bonzini at gnu dot org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |INVALID

--- Comment #5 from Paolo Bonzini <bonzini at gnu dot org> 2011-02-17 16:20:43 UTC ---
You can look in March to May 2009 at patches with a [cond-optab] tag.

Unfortunately "news for developers" have been only introduced in the 4.6
release notes, so it was not written outside the mailing lists.

Just like bCC patterns have been replaced by cbranch, sCC have been replaced by
cstore.  Most conversions should be pretty straightforward:

* if you're using a cmpMM pattern that just saves operands and modes, and your
bCC pattern calls some routine in your backend's .c file, your cbranch patterns
can save the operands and mode, and then call the same routine as your existing
bCC pattern.

* if your cmpMM and bCC patterns are actually define_insns, your cbranch
patterns can be very simple define_expand that generates the same RTL followed
by the RTL for bCC.

In most cases the conversion will have no real change on assembly, and should
cut at least 50-100 lines from your backend (but for some almost 1000 were
removed in the GCC sources!).

If your backend had been in-tree, I would have fixed it for you. :)



More information about the Gcc-bugs mailing list