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).
