This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] Fix inlining of calls with NULL block (PR56515)
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Richard Biener <rguenther at suse dot de>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Mon, 4 Mar 2013 14:28:44 +0100
- Subject: Re: [PATCH] Fix inlining of calls with NULL block (PR56515)
- References: <alpine.LNX.firstname.lastname@example.org>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Mon, Mar 04, 2013 at 01:42:51PM +0100, Richard Biener wrote:
> When inlining call stmts with a NULL gimple_block we still remap
> all the callee blocks into a block tree copy but we'll end up
> not referencing it from anywhere. This causes verification failures
> because then we have nothing refering to the inline stmt blocks.
Ugh, best would be to set proper block even for the artificially added calls
(whether to look around for surrounding statement blocks or similar).
Because clearing the block tree will have the nasty effect that nothing
in the inlined routine will be debuggable. Attaching the block tree to
DECL_INITIAL isn't very good either, because while the inline fn itself
will be debuggable, the parent function's variables won't be accessible.
But I guess your patch is fine as a hack to avoid ICEs, and we just should
try harder and harder to avoid ever hitting that situation.