I see, we would be using the presence of this parameter to drive lipo stress-testing in general. I made the change and added a comment to that effect and will commit it. Thanks, Teresa
On Thu, Oct 10, 2013 at 12:03 PM, Xinliang David Li <davi...@google.com> wrote: > The option/parameter in theory should not have any effect to > profile-use build, but it is usually passed to both profile-gen and > profile-use compilation. > > The reason to turn it on is to surface the type of error you have > fixed recently (it is triggered only with trivial module group). > > David > > On Thu, Oct 10, 2013 at 11:51 AM, Teresa Johnson <tejohn...@google.com> wrote: >> 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 -- Teresa Johnson | Software Engineer | tejohn...@google.com | 408-460-2413