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

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
So we have to really preserve LHS types, there might be uses in places where
the function pointer-ness is important (otherwise we'd not preserve those
conversions), so inserting a conversion is not a proper fix.  For the PHI that
we eventually insert we'll have to use a non-function-pointer type.  But we're
using SSA rewriting here, so simply creating differently typed
SSA names is not going to work.

suitable_component_p via filter_suitable_components could weed out
problematical
components alltogether, but we might later re-combine chains.

It's somewhat of a mess, but mostly in the transform phase IMO.

I think store-motion in LIM should have the very same problem (it also relies
on SSA renaming).

Reply via email to