This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Fix several time updating issues in the inliner analysis


On Thu, Oct 25, 2012 at 10:12 AM, Jan Hubicka <hubicka@ucw.cz> wrote:
> Hi,
> this patch adds several sanity checks that inline summaries are up to date and
> makes sense; it also fixes several minor updating bugs and two perhaps important
> integer overflows.
>
> Bootstrapped/regtested x86_64-linux, will commit it shortly.
>
> Honza
>
>         * ipa-cp.c (ipcp_discover_new_direct_edges): If something was turned
>         to direct call update the summary.
>         * ipa-inline-transform.c (inline_call): Sanity check that summaries
>         match the predicted effect; fix updating of summary after edge
>         redirection.
>         * ipa-inline-analysis.c (inline_node_duplication_hook): Do not try
>         to update the summary and recompute it instead.
>         (estimate_function_body_sizes): Fix self size estimation; double
>         check that it agrees with inline_update_overall_summary.
>         (estimate_edge_size_and_time): Handle devirtualizaiton costs.
>         (estimate_edge_devirt_benefit): Update to be called from
>         estimate_edge_size_and_time.
>         (estimate_calls_size_and_time): Update.
>         (estimate_node_size_and_time): Watch overflows.
>         (inline_merge_summary): Likewise.
>         * ipa-prob.c: Include ipa-inline.h
>         (ipa_make_edge_direct_to_target): After redirection update the summary.
>

This caused:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55078

-- 
H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]