This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Fix WPA corruption seen in LTO bootstrap
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Jan Hubicka <hubicka at ucw dot cz>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Tue, 10 May 2011 20:12:58 -0700
- Subject: Re: Fix WPA corruption seen in LTO bootstrap
- References: <20110424013357.GF27564@kam.mff.cuni.cz>
On Sat, Apr 23, 2011 at 6:33 PM, Jan Hubicka <hubicka@ucw.cz> wrote:
> Hi,
> the problems with LTO build reported by Toon is caused by a hack disabling
> jump function in ipa-prop on wpa. ?The hack is no longer needed and it is wrong,
> since jump function makes no sense when they are not updated. Consequentely
> inline cost metrics get lost.
>
> I am testing the following patch that also fortifies the datastructures
> for array overruns (this was how the problem manifested itself).
>
> Bootstrapping/regtesting x86_64-linux, will commit it if passes.
>
> Honza
>
> ? ? ? ?* ipa-prop.c (ipa_propagate_indirect_call_infos): Remove obsolette
> ? ? ? ?WPA hack.
> ? ? ? ?* ipa-prop.h (ipa_get_param, ipa_is_param_used, ipa_param_cannot_devirtualize_p,
> ? ? ? ?ipa_param_types_vec_empty, ipa_get_ith_jump_func, ipa_get_lattice):
> ? ? ? ?Fortify array bounds.
> ? ? ? ?* ipa-inline-analysis.c (add_clause): Fix clause ordering.
> ? ? ? ?(and_predicates, or_predicates, predicates_equal_p, evaulate_predicate):
> ? ? ? ?Sanity check predicate length.
> ? ? ? ?(remap_predicate): Likewise; sanity check jump functions.
> ? ? ? ?(inline_read_section, inline_write_summary): Sanity check
> ? ? ? ?predicate length.
This caused:
http://gcc.gnu.org/ml/gcc-cvs/2011-04/msg01110.html
--
H.J.