This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: ipa-cp heuristics fixes
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Jan Hubicka <hubicka at ucw dot cz>
- Cc: gcc-patches at gcc dot gnu dot org, mjambor at suse dot de, dje dot gcc at gmail dot com
- Date: Fri, 11 Dec 2015 21:11:11 +0100
- Subject: Re: ipa-cp heuristics fixes
- Authentication-results: sourceware.org; auth=none
- References: <20151210073037 dot GA40772 at kam dot mff dot cuni dot cz>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Thu, Dec 10, 2015 at 08:30:37AM +0100, Jan Hubicka wrote:
> I am bootstrapping/regtesting this on x86_64-linux, does it seem OK?
I think this patch (just a guess, but certainly ipa-cp related during last
24 hours) significantly regressed guality/pr36728-*.c on x86_64.
Previously we have not turned foo into foo.constprop*, now we do, and pass
just arg7 instead of arg1..arg7. That is fine, but we really should be
emitting the debug info stuff for that case, that was added to fix PR47858,
but for whatever reason it doesn't happen in this case. Does it take some
other path in ipa-prop.c, or bypass ipa-prop, something different?
> * ipa-cp.c (ipcp_cloning_candidate_p): Use node->optimize_for_size_p.
> (good_cloning_opportunity_p): Likewise.
> (gather_context_independent_values): Do not return true when
> polymorphic call context is known or when we have known aggregate
> value of unused parameter.
> (estimate_local_effects): Try to create clone for all context
> when either some params are substituted or devirtualization is possible
> or some params can be removed; use local flag instead of
> node->will_be_removed_from_program_if_no_direct_calls_p.
> (identify_dead_nodes): Likewise.
Jakub