On Mon, Sep 18, 2017 at 3:36 AM, Kugan Vivekanandarajah <kugan.vivekanandara...@linaro.org> wrote: > Hi Richard, > > On 15 September 2017 at 19:31, Richard Biener > <richard.guent...@gmail.com> wrote: >> On Fri, Sep 15, 2017 at 3:27 AM, Kugan Vivekanandarajah >> <kugan.vivekanandara...@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 <kug...@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.