This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Re[2]: [Patch Ping] [RFC] Alias export patch
> On Tue, 2006-03-14 at 19:22 +0300, Dmitry Melnik wrote:
>
> > @@ -270,7 +270,8 @@ mem_attrs_htab_eq (const void *x, const
> > && p->size == q->size && p->align == q->align
> > && (p->expr == q->expr
> > || (p->expr != NULL_TREE && q->expr != NULL_TREE
> > - && operand_equal_p (p->expr, q->expr, 0))));
> > + && operand_equal_p (p->expr, q->expr, 0)))
> > + && (p->orig_expr == q->orig_expr));
> > }
> >
>
>
> Errr, why isn't this check just like the one above it that uses
> operand_equal_p?
>
> Also, what is cleanup_conversions supposed to be doing?
> We have STRIP_NOPS to strip NOP_EXPR's, if that is what you need.
>
>
> > diff -upd -r gcc-clean/gcc/tree-ssa.c gcc/gcc/tree-ssa.c
> > --- gcc-clean/gcc/tree-ssa.c 2006-03-10 01:34:15.000000000 +0300
> > +++ gcc/gcc/tree-ssa.c 2006-03-10 16:04:47.000000000 +0300
> > @@ -810,8 +810,6 @@ delete_tree_ssa (void)
> > size_t i;
> > basic_block bb;
> > block_stmt_iterator bsi;
> > - referenced_var_iterator rvi;
> > - tree var;
> >
> > /* Release any ssa_names still in use. */
> > for (i = 0; i < num_ssa_names; i++)
> > @@ -840,15 +838,6 @@ delete_tree_ssa (void)
> > set_phi_nodes (bb, NULL);
> > }
> >
> > - /* Remove annotations from every referenced variable. */
> > - FOR_EACH_REFERENCED_VAR (var, rvi)
> > - {
> > - ggc_free (var->common.ann);
> > - var->common.ann = NULL;
> > - }
> > - htab_delete (referenced_vars);
> > - referenced_vars = NULL;
> > -
>
> I hope this doesn't mess with the ipa-branch too badly, as you are
> inserting some dependencies on referenced vars being correct for a given
> function *after* we've gone through tree-ssa (something we've never
> guaranteed before).
That should not be problem (in current state of IPA branch). Since the
alias info is in annotations that are shared, I can't build in
interprocedurally, so it is just build in the local pass after all IPA
is done at the moment.
Honza
>
> > fini_ssanames ();
> > fini_phinodes ();
> >
>
>