On Thu, Aug 2, 2012 at 3:23 AM, Jan Hubicka <hubi...@ucw.cz> wrote: >> >> This patch works passed profiledbootstrap with LTO as well as LTO -O3 >> on 176.gcc in SPEC CPU 2000. I have to add 2 inline_edge_summary_vec >> checks to avoid ICE. OK to install? > > Thanks, it looks good. I am just concerned about... >> diff --git a/gcc/ipa-split.c b/gcc/ipa-split.c >> index 33cf7d2..7a8844f 100644 >> --- a/gcc/ipa-split.c >> +++ b/gcc/ipa-split.c >> @@ -1415,7 +1415,7 @@ execute_split_functions (void) >> } >> /* This can be relaxed; function might become inlinable after splitting >> away the uninlinable part. */ >> - if (!inline_summary (node)->inlinable) >> + if (inline_edge_summary_vec && !inline_summary (node)->inlinable) > > .. this one. spliting is executed before free_inline_summary and thus should > not be affected. Or is it because of it gets called from process_new_functions > because some IPA pass adds a new function?
It is called from pass_feedback_split_functions: NEXT_PASS (pass_all_early_optimizations); { ... } NEXT_PASS (pass_ipa_free_inline_summary); NEXT_PASS (pass_ipa_tree_profile); { struct opt_pass **p = &pass_ipa_tree_profile.pass.sub; NEXT_PASS (pass_feedback_split_functions); } OK to install? Thanks. -- H.J.