This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC][PATCH 1/5] Add separate parms for rtl unroller


On Mon, Sep 18, 2017 at 3:36 AM, Kugan Vivekanandarajah
<kugan.vivekanandarajah@linaro.org> wrote:
> Hi Richard,
>
> On 15 September 2017 at 19:31, Richard Biener
> <richard.guenther@gmail.com> wrote:
>> On Fri, Sep 15, 2017 at 3:27 AM, Kugan Vivekanandarajah
>> <kugan.vivekanandarajah@linaro.org> wrote:
>>> This patch adds separate params for rtl unroller so that they can be
>>> tunned accordingly. Default values I have are based on some testing on
>>> aarch64. I am happy to leave it as the current value and set them in
>>> the back-end.
>>
>> PARAM_MAX_AVERAGE_UNROLLED_INSNS is only used by the RTL
>> unroller.  Why should we separate PARAM_MAX_UNROLL_TIMES?
>>
>> PARAM_MAX_UNROLLED_INSNS is only used by gimple passes
>> that perform unrolling.  Since GIMPLE is three-address it should
>> match RTL reasonably well -- but I'd be ok in having a separate param
>> for those.  But I wouldn't name those 'partial'.
>>
>> That said, those are magic numbers and I expect we can find some
>> that work well on RTL and GIMPLE.
>
> Thanks for the review. I am mostly interested in having separate
> params for RTL runtime unrolling as this is different to what GIMPLE
> unroller does.

Why?  Do you just want to have more magic knobs to machine-auto-tune?

> May be I should have separate params only for the
> runtime unrolling (or the partial unroller)  and let RTL/GIMPLE share
> the other. Any preference here ? Any preference on the name ?
>
> I am suspecting that RTL unroller which does the same as GIMPLE is
> kind of obsolete now?

We do not have a GIMPLE loop unroller pass.  On GIMPLE we only do
complete peeling as a separate pass and several passes perform
unrolling as part of their transform.

Richard.

> Thanks,
> Kugan
>
>
>
>
>
>> Richard.
>>
>>>
>>> Thanks,
>>> Kugan
>>>
>>>
>>> gcc/ChangeLog:
>>>
>>> 2017-09-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
>>>
>>>     * loop-unroll.c (decide_unroll_constant_iterations): Use new params.
>>>     (decide_unroll_runtime_iterations): Likewise.
>>>     (decide_unroll_stupid): Likewise.
>>>     * params.def (DEFPARAM): Separate and add new params for rtl unroller.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]