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


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