This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] [3/n] Fix minor SSA_NAME leaks
- From: Richard Biener <richard dot guenther at gmail dot com>
- To: Jeff Law <law at redhat dot com>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 9 Oct 2015 11:37:42 +0200
- Subject: Re: [PATCH] [3/n] Fix minor SSA_NAME leaks
- Authentication-results: sourceware.org; auth=none
- References: <5616D66A dot 7010906 at redhat dot com>
On Thu, Oct 8, 2015 at 10:47 PM, Jeff Law <law@redhat.com> wrote:
> And other minor leak. This time in tree-stdarg. Unlike other cases, we're
> dropping just the virtual definition, other definitions on the statement
> need to be preserved (they're going to be re-used). Additionally, this one
> is missing the call to unlink_stmt_vdef.
>
> Like other cases, I've got a minimized test, but no good way to add it to
> the testsuite right now.
>
> Bootstrapped and regression tested on x86_64-linux-gnu. Installed on the
> trunk.
>
> Jeff
>
> commit 4d303443cc66bf32f3f045014dd22f0e475f0d50
> Author: Jeff Law <law@redhat.com>
> Date: Thu Oct 8 14:46:03 2015 -0600
>
> [PATCH] [3/n] Fix minor SSA_NAME leaks
>
> * tree-stdarg.c (expand_ifn_va_arg_1): Add missing call to
> unlink_stmt_vdef and release_ssa_name_fn.
>
> diff --git a/gcc/ChangeLog b/gcc/ChangeLog
> index 64309c1..31e2f30 100644
> --- a/gcc/ChangeLog
> +++ b/gcc/ChangeLog
> @@ -1,5 +1,8 @@
> 2015-10-08 Jeff Law <law@redhat.com>
>
> + * tree-stdarg.c (expand_ifn_va_arg_1): Add missing call to
> + unlink_stmt_vdef and release_ssa_name_fn.
> +
> * tree-ssa-dse.c (dse_optimize_stmt): Add missing call to
> release_defs.
>
> diff --git a/gcc/tree-stdarg.c b/gcc/tree-stdarg.c
> index d69fa06..3e6d98c 100644
> --- a/gcc/tree-stdarg.c
> +++ b/gcc/tree-stdarg.c
> @@ -1080,6 +1080,8 @@ expand_ifn_va_arg_1 (function *fun)
>
> /* Remove the IFN_VA_ARG gimple_call. It's the last stmt in the
> bb. */
> + unlink_stmt_vdef (stmt);
> + release_ssa_name_fn (fun, gimple_vdef (stmt));
I'd prefer a release_defs () call here, it works well in combination with
unlink_stmt_vdef.
> gsi_remove (&i, true);
> gcc_assert (gsi_end_p (i));
>
>