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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rguenth at gcc dot gnu.org

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
We used to propagate conditional equivalences as copies from DOM for example. 
Not sure if that was disabled deliberately or by accident but let me say that
propagating conditional equivalences as copies causes multiple wrong-code
issues.

This bug asks for the sincos transform to happen in a place with appropriate
data-flow like PRE / code-hoisting.  Basically you make sincos() available
at places that compute sin or cos and then let PRE / code-hoisting do the
required insertion.  Elimination then picks the proper result.  You "just"
need to demote sincos back to sin or cos if either result is unused
(a useful transform independently).

Reply via email to