Aliasing patch for tree-optimization/28778

Daniel Jacobowitz drow@false.org
Sat Aug 26 17:35:00 GMT 2006


On Sat, Aug 26, 2006 at 03:01:23AM -0400, Daniel Berlin wrote:
> >   - or confusion about what pt_anything is supposed to mean has spread
> >     further through the code.
> 
> Nope, pt anything is separate than call clobbering.
> pt_anything causes the SMT to be used, instead of the NMT.  Thus, when
> pt_anything is set, the SMT (in this case, SMT.5) should be listing the
> variable as an alias, wihch it isn't.
> 
> pt_anything is about what variables can point to, not whether they are
> clobbered by calls or not.  It can help as a method to answer the
> question of what variables are clobbered sometimes, but the question is
> independent of asking what a variable points to.

Feel free to refer me to a paper, or something, but while I can see
that these are separate problems, I can't see why you don't want to use
the same information to solve them.  If you have PTR_1, and it
escapes, and LIST is in the points-to set of PTR_1, then LIST escapes.
We don't use that information.

Are there cases where we can't solve escaping / "call-clobbered"
variables that way, instead of the other way we're doing it in
tree-ssa-alias.c?  Besides the optimizations for dealing with things
pointing to anything, et cetera.  I guess it might just be prohibitive
to do it this way?

The way we're using different techniques to solve related problems
worries me a bit, but that's mostly because I grok one of them
and apparently not the other.

-- 
Daniel Jacobowitz
CodeSourcery



More information about the Gcc-patches mailing list