This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Google] Skip LIPO type unification for trivial module groups


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).

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 <tejohnson@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  <tejohnson@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 | tejohnson@google.com | 408-460-2413


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]