> > +/* Return true if T is a pointer pointing to memory location that is local > > + for the function (that means, dead after return) or read-only. */ > > + > > +bool > > +points_to_local_or_readonly_memory_p (tree t) > > +{ > > + /*if (!POINTER_TYPE_P (TREE_TYPE (t))) > > + return false; */ > > remove ^^^ Ahh, sorry. > > > + STRIP_NOPS (t); > > This wasn't in the original code - did you really run into (long)&x or what?
Old code works on references only. In the followup I want to run it on function arguments, so we can propagate info that i.e. this pointer passed to function points to automatic variable. I think I can see nops in the gimple args so I should strip it? I did not verify if that happens in pratice. Honza