This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
RE: [Patch PR 44576]: Reduce the computation cost in compute_miss_rate for prefetching loop arrays
>>> Well, but at -O3 the vectorizer computes dependences as well, and it
>>> doesn't take that much of time, So there must be something obvious
>>> going wrong.
>>>
>>
>> The dependence analysis in the vectorizer is done only in the innermost
>> loop that is vectorized, whereas prefetch does the analysis of data deps
>> for every loop.
>The vectorizer also does dependence analysis for outer-loop vectorization.
>I guess prefetch analysis should restrict itself to data dependences on a
>maximum loop nest depth (of say 2 or 3).
For vectorizer (and tree-loop-linear), we are just lucky that the loop could
not be vectorized and dependence analysis was not invoked at all for
this loop. For this test case, prefetching is the only pass that invokes
dependence analysis.
>Still dependence analysis looks overly costly here.
Yes, we just understand and reduce the dependence analysis cost.
Thanks,
Changpeng