> On Mon, Jan 05, 2015 at 07:38:20PM +0100, Richard Biener wrote:
> > >> During function versioning fixup_cfg pass is supposed to handle that,
> > >> during IPA inlining there is explicit call to execute_fixup_cfg, but
> > >during
> > >> early inlining there is not.
> > >
> > >I am still confused why early inliner does any redirections? It should
> > >not.
> > >Edge redirection is part of the IPA optimization machinery.
> > 
> > Possibly through stmt folding.
> 
> Generally yes, in this case, I doubt it, it isn't a builtin function.
> But it is guarded by a false condition (__builtin_constant_p test), so
> supposedly the early inliner figures out that it doesn't need to bother
> with the dead call and replaces it with __builtin_unreachable anyway.

Ah, I see,  this is resonable explanation - this one changed with enabling
the predicates early.
The patch is OK. Thanks.

Honza
> 
>       Jakub

Reply via email to