This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix einline ICE with EH (PR tree-optimization/64465)
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Richard Biener <richard dot guenther at gmail dot com>
- Cc: Jan Hubicka <hubicka at ucw dot cz>, Richard Biener <rguenther at suse dot de>, gcc-patches at gcc dot gnu dot org
- Date: Mon, 5 Jan 2015 19:55:58 +0100
- Subject: Re: [PATCH] Fix einline ICE with EH (PR tree-optimization/64465)
- Authentication-results: sourceware.org; auth=none
- References: <20150105170909 dot GV1667 at tucnak dot redhat dot com> <20150105173720 dot GB12888 at kam dot mff dot cuni dot cz> <D32D82EB-51D8-420E-9911-643F6C951103 at gmail dot com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
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.
Jakub