Patchwork [PR,44464] Add a missing call to release_ssa_name

login
register
mail settings
Submitter Martin Jambor
Date June 15, 2010, 10:33 a.m.
Message ID <20100615103353.GB12135@virgil.suse.cz>
Download mbox | patch
Permalink /patch/55630/
State New
Headers show

Comments

Martin Jambor - June 15, 2010, 10:33 a.m.
Hi,

the patch below fixes PR 44464.  IPA-SRA currently leaves behind a
danglig reference to old PARAM_DECLs in dead but still existing
SSA_NAMEs which means we can bump into it unexpectedly later on like
in the bug.  Releasing the SSA_NAMEs appropriately deals with these
problems.

Bootstrapped and tested on x86-64-linux without any problems.  OK for
trunk and later on for the 4.5 branch too?

Thanks,

Martin


2010-06-14  Martin Jambor  <mjambor@suse.cz>

	PR lto/44464
	* tree-sra.c (replace_removed_params_ssa_names): Call release_ssa_name
	on the newly dead SSA name.
Richard Guenther - June 15, 2010, 10:34 a.m.
On Tue, 15 Jun 2010, Martin Jambor wrote:

> Hi,
> 
> the patch below fixes PR 44464.  IPA-SRA currently leaves behind a
> danglig reference to old PARAM_DECLs in dead but still existing
> SSA_NAMEs which means we can bump into it unexpectedly later on like
> in the bug.  Releasing the SSA_NAMEs appropriately deals with these
> problems.
> 
> Bootstrapped and tested on x86-64-linux without any problems.  OK for
> trunk and later on for the 4.5 branch too?

Ok.

Thanks,
Richard.

> Thanks,
> 
> Martin
> 
> 
> 2010-06-14  Martin Jambor  <mjambor@suse.cz>
> 
> 	PR lto/44464
> 	* tree-sra.c (replace_removed_params_ssa_names): Call release_ssa_name
> 	on the newly dead SSA name.
> 
> Index: mine/gcc/tree-sra.c
> ===================================================================
> --- mine.orig/gcc/tree-sra.c
> +++ mine/gcc/tree-sra.c
> @@ -3883,6 +3883,7 @@ replace_removed_params_ssa_names (gimple
>      gimple_phi_set_result (stmt, name);
>  
>    replace_uses_by (lhs, name);
> +  release_ssa_name (lhs);
>    return true;
>  }
>  
> 
>

Patch

Index: mine/gcc/tree-sra.c
===================================================================
--- mine.orig/gcc/tree-sra.c
+++ mine/gcc/tree-sra.c
@@ -3883,6 +3883,7 @@  replace_removed_params_ssa_names (gimple
     gimple_phi_set_result (stmt, name);
 
   replace_uses_by (lhs, name);
+  release_ssa_name (lhs);
   return true;
 }