This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] [3/n] Fix minor SSA_NAME leaks


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));
>
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]