On Thu, Oct 10, 2013 at 11:42 AM, Xinliang David Li <davi...@google.com> wrote: > It is better to turn it on when random stress test is also on: param > value of PARAM_LIPO_RANDOM_GROUP_SIZE is not the default value (0).
I don't understand why - the random group size is used at dyn-ipa time to compute module groups, whereas this code happens during the profile-use compile. If the random group was still trivial, why would we want to do the type merging? Teresa > > if (!L_IPO_COMP_MODE || (num_in_fnames == 1 && PARAM_VALUE > (PARAM_LIPO_RANDOM_GROUP_SIZE) == 0)) > > ok with this change. > > David > > On Thu, Oct 10, 2013 at 11:27 AM, Teresa Johnson <tejohn...@google.com> wrote: >> The following patch fixes an inefficiency whereby type unification >> was being attempted unnecessarily in LIPO even when there were no >> aux modules. >> >> Tested with regression tests and internal LIPO benchmark. >> >> Ok for google/4_8? >> >> Thanks, >> Teresa >> >> 2013-10-10 Teresa Johnson <tejohn...@google.com> >> >> * l-ipo.c (cgraph_unify_type_alias_sets): Skip LIPO type >> unification when there are no aux modules. >> >> Index: l-ipo.c >> =================================================================== >> --- l-ipo.c (revision 203260) >> +++ l-ipo.c (working copy) >> @@ -1059,7 +1059,7 @@ cgraph_unify_type_alias_sets (void) >> struct cgraph_node *node; >> struct varpool_node *pv; >> >> - if (!L_IPO_COMP_MODE) >> + if (!L_IPO_COMP_MODE || num_in_fnames == 1) >> return; >> >> vec_alloc (pending_types, 100); >> >> -- >> Teresa Johnson | Software Engineer | tejohn...@google.com | 408-460-2413 -- Teresa Johnson | Software Engineer | tejohn...@google.com | 408-460-2413