On Wed, Aug 19, 2009 at 3:56 PM, Richard
Guenther<richard.guent...@gmail.com> wrote:
> On Wed, Aug 19, 2009 at 3:54 PM, Albert Cohen<albert.co...@inria.fr> wrote:
>> Albert Cohen wrote:
>>> Thanks a lot for the quick and detailed response.
>>>
>>> It is more difficult than I thought, then :-( We'll think more, and
>>> maybe come up with yet another pass ordering proposal, but definitely
>>> this tramp3d code deserves to be processed by graphite AFTER
>>> unrolling+cse has done its specialization trick.
>>
>> One way out would be to make unrolli pass a little more careful. As you
>> suggest, the heuristic is already not quite satisfactory as it sometimes
>> unrolls outemost loops.
>>
>> A better heursitic would be to run through the different cases where
>> unrolling helps specialization (e.g., the subscripts of subscripts in
>> the tramp3d example), and check for these patterns explicitely. But this
>> is not easy to implement (or to make it robust, and not too
>> syntax-dependent).
>
> Well, one thing is to simply adjust the maximal size increase or see
> if honzas improved size heuristics allow to unroll only if the estimated
> size does not increase (though for calculix we depend on a very
> large estimated size increase IIRC, with the old heuristics at least - there
> is a testcase in the testsuite for it).

gfortran.dg/reassoc_4.f, the hottest loop from calculix.

Richard.

Reply via email to