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] Do not create NMTs for pt_anything pointers


On Wed, 4 Jun 2008, Daniel Berlin wrote:

> >> So why maintain the aritificial distinction, which people generally
> >> find confusing?
> >
> > Uh, ok - the distinction is artificial on the implementation level,
> > but not on the semantics level IMHO.  We _need_ some tags that
> > represent conflicts between memory based on type-based aliasing rules.
> > Just because not all memory has proper "names".
> >
> 
> Okay, then we should at least rename them. Nobod knows what the heck a
> "symbol memory tag" is. Didn't the used to be TMT's?

Yeah, the naming is arbitrary and confusing.  TMT (type memory tag)
was actually more to the point ;)

> > But we don't really need name-memory tags, as if we have points-to
> > information (that is more specific than pt_anything), then we already
> > _do_ have "names" that we use for representing the conflicts.
> 
> Sure
> 
> >
> >> I'm willing to believe we should maintain the fallback (mainly because
> >> i haven't had time to test a patch to just have alias bitmaps for
> >> everything, even without PTA), but there is no need for that fallback
> >> to rely on a completely different structure and name when it would
> >> work fine with the same one we use in the presence of PTA.
> >
> > We _do_ have alias bitmaps for everything!  We just store them in
> > two (ok, actually three) different places.  The point is that I guess
> > neither you nor I want to audit all passes that create new pointers
> > to properly set the points-to bitmap in its ptr_info.
> 
> Right.
> :)

;)

I'll put it somewhere on my TODO list ...

> >
> > If we would do that we can get rid of either the name SMT or NMT but
> > at least its MTAG_ALIASES bitmap (and instead use the shared GC-allocated
> > ones we hang off the ptr_info struct).  We still need to create tags
> > for the type-based conflicts and generate their conflict bitmaps - but
> > we can store them in the pt_vars of ptr_info instead of accessing them
> > via the symbol_memory_tag in var_ann.
> Sure.
> 
> 
> > But I don't see how the patch in question conflicts with either
> > approach.
> 
> Okay, I withdraw my objection.
> Feel free to commit it

Thanks.  The main motivation was to delete some code and save some
memory at the same time.

Richard.


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