This is the mail archive of the gcc@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: [tree-ssa]: Dominator opts change LHS without changing VDEF's


On Sun, 2003-08-10 at 17:31, Daniel Berlin wrote:

> > bitmap_element_free (struct bitmap_element *elt)
> > {
> > ....
> >   {
> >      struct bitmap_element * elt;
> >      struct bitmap_head_def * head;
> >
> >      head = head;
> >      elt = elt;			<-- Here 'elt' points to 'elt'.
> 
> No, this statement means elt (lhs) points to whatever elt (rhs) points to.
> elt doesn't point to elt.
>
Ah, yes.  I see the distinction now.  To fix this, you need to change
the query we do in tree-dfa.c:get_memory_tag_for.  Currently, we only
ask whether the pointer may point to the variable.  Is there a query
that we can do to ask 'whether this pointer points to the same memory
pointed by this other pointer?'.  That's the query we are missing.

Both LHS elt and RHS elt *must* have the same memory tag.  If we can
query that to PTA, then it should be trivial to fix.


Diego.


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