This is the mail archive of the 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 Tue, Oct 29, 2013 at 4:01 PM, Jeff Law <> 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).


> Jeff

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