------- Comment #44 from stevenb dot gcc at gmail dot com 2007-12-20 15:08 ------- Subject: Re: Inordinate compile times on large routines
On 20 Dec 2007 14:49:12 -0000, zadeck at naturalbridge dot com <[EMAIL PROTECTED]> wrote: > > > ------- Comment #43 from zadeck at naturalbridge dot com 2007-12-20 14:49 > ------- > Subject: Re: Inordinate compile times on large > routines > > lucier at math dot purdue dot edu wrote: > > ------- Comment #42 from lucier at math dot purdue dot edu 2007-12-20 > > 03:52 ------- > > Created an attachment (id=14799) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14799&action=view) > --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14799&action=view) > > --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14799&action=view) > > memory details for an unpatched mainline > > > > Here is the same information without Steven's two patches for mainline. > > > > > > > Could you add the attached patch in and rerun your example? > > It will add 4 lines to indicate what kinds of def-use and use-def chains > are being created. > A lot of the space is being used by these chains and I want to find out > how many of those chains are for artificial uses and defs. > > thanks > > kenny > struct df_link * > df_chain_create (struct df_ref *src, struct df_ref *dst) > { > struct df_link *head = DF_REF_CHAIN (src); > - struct df_link *link = pool_alloc (df_chain->block_pool);; > + struct df_link *link = pool_alloc (df_chain->block_pool); > + int index = 0; > + > + if (!src->insn) > + index += (src->type == DF_REF_REG_DEF) ? 2 : 1; > + if (!dst->insn) > + index += (src->type == DF_REF_REG_DEF) ? 2 : 1; > + > + df_chain_counters[index]++; Watch for segfaults. Index will be 1, 2, 3, or 4. df_chain_counters[4] does not exist. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26854