Richard Biener <richard.guent...@gmail.com> writes:
> On October 19, 2019 5:06:40 PM GMT+02:00, Richard Sandiford 
> <richard.sandif...@arm.com> wrote:
>>After the previous patch, it seems more natural to apply the
>>PARAM_SLP_MAX_INSNS_IN_BB threshold as soon as we know what
>>the region is, rather than delaying it to vect_slp_analyze_bb_1.
>>(But rather than carve out the biggest region possible and then
>>reject it, wouldn't it be better to stop when the region gets
>>too big, so we at least have a chance of vectorising something?)
>>
>>It also seems more natural for vect_slp_bb_region to create the
>>bb_vec_info itself rather than (a) having to pass bits of data down
>>for the initialisation and (b) forcing vect_slp_analyze_bb_1 to free
>>on every failure return.
>>
>>Tested on aarch64-linux-gnu and x86_64-linux-gnu.  OK to install?
>
> Ok. But I wonder what the reason was for this limit? Dependency analysis was 
> greatly simplified, being no longer quadratic here. Can you check where the 
> limit originally came from? But indeed splitting the region makes more sense 
> then, but at dataref group boundaries I'd say. 

Yeah, looks it was the complexity of dependence analysis:

  https://gcc.gnu.org/ml/gcc-patches/2009-05/msg01303.html

  > Is there any limit on the size of the BB you consider for
  > vectorization?  I see we do compute_all_dependences on it - that
  > might be quite costly.

  I added slp-max-insns-in-bb parameter with initial value 1000.

Thanks,
Richard

Reply via email to