> On 05/04/2017 08:31 AM, Jeff Law wrote: > >On 05/04/2017 07:26 AM, Дмитрий Дьяченко wrote: > >>Fedora 26 x86_64 > >>r247595 > >> > >>~/src/gcc_current/configure --prefix=/usr/local/gcc_current > >>--enable-static --enable-checking=no --enable-languages=c,c++,lto > >>--enable-plugin --disable-multilib > >And that may be the key, I've been able to get a similar failure. Could > >easy be the checking flags. I'll do some bisecting here. > >jeff > > It's Jan's patch from April 30. > > commit e062e35c7ff7743aa31868370bf5cb9f8da835dd > Author: hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> > Date: Sun Apr 30 15:02:11 2017 +0000
I wonder how that patch can cause mismatches. Does it reproduce on one of compile farm machines (my x86-64 bootstrap works fine so does ia64 on terbium after fixing the gcc 4.1 issue yeterday). It would be great to have -fdump-ipa-inline-details dumps of the mismatching run. Perhaps it will be easy to spot the problem. Honza > > PR ipa/79224 > * ipa-inline-analysis.c (dump_predicate): Add optional parameter NL. > (account_size_time): Use two predicates - exec_pred and > nonconst_pred_ptr. > (evaluate_conditions_for_known_args): Compute both clause and > nonspec_clause. > (evaluate_properties_for_edge): Evaulate both clause and > nonspec_clause. > (inline_summary_t::duplicate): Update. > (estimate_function_body_sizes): Caluculate exec and nonconst > predicates > separately. > (compute_inline_parameters): Likewise. > (estimate_edge_size_and_time): Update caluclation of time. > (estimate_node_size_and_time): Compute both time and nonspecialized > time. > (estimate_ipcp_clone_size_and_time): Update. > (inline_merge_summary): Update. > (do_estimate_edge_time): Update. > (do_estimate_edge_size): Update. > (do_estimate_edge_hints): Update. > (inline_read_section, inline_write_summary): Stream both new > predicates. > * ipa-inline.c (compute_uninlined_call_time): Take > uninlined_call_time > as argument. > (compute_inlined_call_time): Cleanup. > (big_speedup_p): Update. > (edge_badness): Update. > * ipa-inline.h (INLINE_TIME_SCALE): Remove. > (size_time_entry): Replace predicate by exec_predicate and > nonconst_predicate. > (edge_growth_cache_entry): Cache both time nad nonspecialized time. > (estimate_edge_time): Return also nonspec_time. > (reset_edge_growth_cache): Update. >