Jim Wilson wrote:-

> Gary Funck wrote:
> >While working with GCC's language hooks, we found that
> >certain places in GCC test for a null value of
> >lang_hooks.callgraph.expand_function, but
> >cgraph_expand_function() calls the hook directly:
> 
> When cgraph was first added, it was optional, and could be disabled if 
> -fno-unit-at-a-time was used, or if the language front-end did not 
> support cgraph.
> 
> For a while, our intentions have been to make this mandatory, and 
> eliminate the -fno-unit-at-a-time option.  It appears that we have 
> already reached the point where front end support for cgraph is 
> mandatory, as the code no longer works when callgraph.expand_function is 
> NULL.  This means all of the checks for NULL are now obsolete and can be 
> removed.  The -fno-unit-at-a-time options still exists meanwhile, but 
> will eventually be dropped.
> 
> It looks like gcc-3.4 supports a NULL callgraph.expand_function hook, 
> and gcc-4.0 and later do not, so I'd guess this transition happened when 
> tree-ssa got merged in.  Or maybe it was enabled by the tree-ssa work.

In general I think the idea with hooks, whether language or target,
was that they were all non-NULL and so we avoided this issue and
scattering conditionals everywhere.  If you wanted to do nothing you
used an empty hook, which was usually the default.

Neil.

Reply via email to