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: free is a killer


On 10/29/13 09:15, Richard Biener wrote:
On Tue, Oct 29, 2013 at 4:01 PM, Jeff Law <law@redhat.com> wrote:
On 10/29/13 04:40, Richard Biener wrote:


Of course in the example we have the "global memory" storage class
(incoming function argument) and "malloc memory" which is really
the same storage class.  It only becomes a different storage class
if you factor in flow analysis (for which the current PTA code is weak
once you leave the SSA web).

The global memory storage class is really better thought of as "i haven't a
clue" class.

No, that's the "anything" class in the current PTA.

You want a different class for things passed in as you know they can't
conflict with anything in the current function's stack or anything malloc'd
by the current function.

That's the NONLOCAL class in the current PTA.  Which also means
that simple cases should work.  It's only when the malloc result
escapes somewhere that it gets reachable by NONLOCAL because
of the limited flow-sensitiveness of PTA (and its lack of context sensitivity).
OK. I think we've got all the same concepts and may just be arguing about terminology :-)

jeff


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