https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126914

Jeffrey A. Law <law at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |law at gcc dot gnu.org
   Last reconfirmed|                            |2026-08-17

--- Comment #4 from Jeffrey A. Law <law at gcc dot gnu.org> ---
So I'm looking at the structure of ifcvt and I think we probably can run the
various approaches, recording their sequence, cost, etc into an array.  Once
we've run the various approaches we can iterate over the cost to do final
selection.

There'll be a compile-time hit as instead of stopping the first time we get a
successful conversion we'll keep trying more approaches, but again, this is
something we need to put in place anyway.

This kind of structure will (of course) has the potential for significant
fallout, but I'd likely classify such fallout as target issues since selecting
the "wrong" sequence from the candidates would be a target costing inaccuracy.

On that topic I am in discussions with engineers from Alibaba to bring some
degree of superscalar awareness to these sequneces.  It's really rough since
it's not running the actual scheduler, but allows the costing to at least
recognize when most of the sequence can run in parallel and thus converting is
much more profitable than it might seem at first.

Reply via email to