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

Martin Jambor <jamborm at gcc dot gnu.org> changed:

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

--- Comment #4 from Martin Jambor <jamborm at gcc dot gnu.org> ---
I agree with the analysis in the summary, the problem is that the
IPA-CP transformation phase should be run on clone of t _before_ we
inline it to q.  From the ipa-cp dump it is apparent that does not
happen.

As far as the GVN idea is concerned, can GVN even work with
aggregates?  And even if yes, I assume this would mean adding some
kind of asserts into the gimple stream, which would also require that
we process the body of the clone before we inline it.  Trying to track
IPA-CP aggregate transformation info across inlining seems difficult
and unnecessary to me.

The modification of q is a no op because we only replace loads of
known values with the known values in the transformation phase.

And IPA-CP indeed does not remove _aggregate_ parameters, even when it
knows the value of it all.  I suppose it should.

Reply via email to