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.