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