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][alias-improvements] Fixup copyprop to handle cycles properly (PR38458)


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;
> ? ? ? ?}
>
>
>


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