On 11/23/2015 03:36 PM, Bernd Schmidt wrote:
> On 11/23/2015 02:49 PM, marxin wrote:
>> Following series has been just bootregtested on x86_64-linux-gnu
>> (all patches together).
> 
> All ok except 5/6 which I'm not finding obvious. Better to have a cilk/c++ 
> person have a look.

Hi.

Sure, let's wait for some cilk person to do a confirmation.

> 
> In the future, a few more explanations would help with reviewing. Let's say 
> for 4/6, how does the leak occur?

Well, basically the function vect_create_cond_for_alias_checks is not called 
for allocated loop_vec_info.
As I am not vectorizer guy, I can't describe exact scenario how it happens.

> 
> Some changes appear beneficial but unnecessary (converting explicitly 
> released vecs to auto_vecs), and:

It's definitely beneficial, if you take a look at 'expand_an_in_modify_expr', 
the function
contains couple of 'return error_mark_node', where we should call ::release 
method.

> 
>>  static vec<tree, va_gc> *
>> -create_array_refs (location_t loc, vec<vec<an_parts> > an_info,
>> +create_array_refs (location_t loc, const vec<vec<an_parts> > &an_info,
>>             vec<an_loop_parts> an_loop_info, size_t size,  size_t rank)
> 
> How does this help prevent leaks? In general we don't want non-bugfixes at 
> this stage.

You are right, this is not directly connected to memory release. I'll remove 
these hunks
in the next version of the patch.

Martin

> 
> 
> Bernd

Reply via email to