On Tue, Jul 02, 2019 at 12:01:00PM +0100, Ramana Radhakrishnan wrote:
> >>
> >> It's worth figuring out what passes are doing this - however the worry
> >> I have is that every pass now needs to be handling this case with
> >> respect to pointer attributes. Is there some place that you are
> >> storing said information and what is the transitive nature of
> >> assignments with these attributes ?
> >>
> >> regards
> >> Ramana
> >
> > I don't understand what information to store, can you explain? I was
> > thinking of putting some code inside the pass, which breaks the dependency
> > chains, which will avoid this type of conversions when it finds out that
> > the pointer is _Dependent_ptr qualified otherwise don't do anything. Can
> > you let me know what I am missing on?
> >
>
> That the pointer has an attribute that it's a dependent pointer . How
> do you expect the later passes to detect it has a dependent_ptr
> attribute attached to it ?
>
> > In transitive nature, are you talking about the dependent pointer being
> > assigned to some non-dependent pointer and after further assigned to some
> > other pointer?
>
> Yes. What's the expected behaviour as per the document ?
Once a user-created non-dependent pointer is assigned to, it is OK to
break the dependency.
Or am I missing the point here?
Thanx, Paul
> Ramana
> >>
> >>
> >> > Does this sounds like a workable plan for ? Let me know your thoughts.
> >> > If this sounds good then, we can do this for all the optimizations that
> >> > may kill the dependencies at somepoint.
> >> >
> >> > -Akshat
>