2012/1/25 Andrey Belevantsev <a...@ispras.ru>:
> On 25.01.2012 16:38, Richard Guenther wrote:
>>
>> 2012/1/25 Andrey Belevantsev<a...@ispras.ru>:
>>>
>>> Hello,
>>>
>>> In this PR data dependence analysis goes wild by trying to process>20k
>>> datarefs, so the patch limits the number of datarefs per loop we handle
>>> to
>>> 1000 via a param.  On the way find_data_references_in_loop is made static
>>> and predcom/parloops are fixed for compute_data_dependences_for_loop
>>> returning false.
>>>
>>> Bootstrapped and tested on x86_64-linux, no testcase as it is really a
>>> memory hog.  Strictly speaking, this could be a regression only from the
>>> time when -O3 didn't have predcom/vectorization turned on by default, so
>>> --
>>> ok for trunk or 4.8?  Branches?
>>
>>
>> You limit the number of data references we find - but that isn't really
>> the scalability issue (it's linear in the number of stmts).  It's really
>> compute_all_dependences that hits the quadraticness, thus _that_
>> function should fail instead (I realize it doesn't return any
>> success/failure
>> state yet, but the number of callers is limited).
>
> Sure, I've just had the impression that the datarefs vector is no use
> without the dependencies themselves.  The possibility of making
> find_data_references_in_loop static also kind of hints in this direction.
> Anyways, I don't have any problem with fixing compute_all_dependences
> instead.

I'd prefer that.

>> Btw, new params need documentation in doc/invoke.texi.
>
> Bah, I convinced myself params.def was the only documentation :-)
>
>
>> The tree-predcom.c and tree-parloops.c changes are ok for trunk anyway.
>
> I will commit them separately.

Thanks,
Richard.

> Andrey

Reply via email to