This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH][alias-improvements] Fixup copyprop to handle cycles properly (PR38458)
- From: Richard Guenther <richard dot guenther at gmail dot com>
- To: Richard Guenther <rguenther at suse dot de>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Sat, 28 Mar 2009 13:54:32 +0100
- Subject: Re: [PATCH][alias-improvements] Fixup copyprop to handle cycles properly (PR38458)
- References: <alpine.LNX.2.00.0812101846330.24314@zhemvz.fhfr.qr>
On Wed, Dec 10, 2008 at 6:49 PM, Richard Guenther <rguenther@suse.de> wrote:
>
> This tweak to copyprop allows us to remove copy-cycles during copyprop.
> At least those of the form
>
> # a_1 = PHI <b_1, c_1>
> b_1 = a_1;
>
> where we want to replace a_1 and b_1 with c_1, not just b_1 with a_1
> as we do now. ?This fixes the extra fails introduced by the SCCVN
> alias-oracle rewrite.
>
> Bootstrapped and tested o x86_64-unknown-linux-gnu, applied to the branch.
> (yes, the extra pre test still fails)
Merged to trunk as rev. 145185 after re-bootstrapping and testing there.
Richard.
> Richard.
>
> 2008-12-10 ?Richard Guenther ?<rguenther@suse.de>
>
> ? ? ? ?PR tree-optimization/38458
> ? ? ? ?* tree-ssa-copy.c (copy_prop_visit_phi_node): For the first
> ? ? ? ?argument use the arguments copy-of value.
>
> Index: gcc/tree-ssa-copy.c
> ===================================================================
> *** gcc/tree-ssa-copy.c (revision 142591)
> --- gcc/tree-ssa-copy.c (working copy)
> *************** copy_prop_visit_phi_node (gimple phi)
> *** 793,799 ****
> ? ? ? ? memory reference of all the other arguments. ?*/
> ? ? ? ?if (phi_val.value == NULL_TREE)
> ? ? ? ?{
> ! ? ? ? ? phi_val.value = arg;
> ? ? ? ? ?continue;
> ? ? ? ?}
>
> --- 799,805 ----
> ? ? ? ? memory reference of all the other arguments. ?*/
> ? ? ? ?if (phi_val.value == NULL_TREE)
> ? ? ? ?{
> ! ? ? ? ? phi_val.value = arg_val->value;
> ? ? ? ? ?continue;
> ? ? ? ?}
>
>
>