On Thu, Nov 28, 2013 at 12:23 PM, Gopalasubramanian, Ganesh
<ganesh.gopalasubraman...@amd.com> wrote:
> This patch adds influence of macro TARGET_LOOP_UNROLL_ADJUST during constant 
> iterations (decide_unroll_constant_iterations).
> The macro has been already checked for runtime iterations 
> (decide_unroll_runtime_iterations),  and for unroll stupid 
> (decide_unroll_stupid).
>
> Bootstrapping and test passes.
>
> Would like to know your comments before committing.

Quickly checked the only port using the hook (s390) and the patch
looks ok.

Thus, ok.

Thanks,
Richard.

> Regards
> Ganesh
>
> 2013-11-28  Ganesh Gopalasubramanian  <ganesh.gopalasubraman...@amd.com>
>
>         * loop-unroll.c (decide_unroll_constant_iterations): Check macro
>         TARGET_LOOP_UNROLL_ADJUST while deciding unroll factor.
>
>
> diff --git a/gcc/loop-unroll.c b/gcc/loop-unroll.c
> index 9c87167..557915f 100644
> --- a/gcc/loop-unroll.c
> +++ b/gcc/loop-unroll.c
> @@ -664,6 +664,9 @@ decide_unroll_constant_iterations (struct loop *loop, int 
> flags)
>    if (nunroll > (unsigned) PARAM_VALUE (PARAM_MAX_UNROLL_TIMES))
>      nunroll = PARAM_VALUE (PARAM_MAX_UNROLL_TIMES);
>
> +  if (targetm.loop_unroll_adjust)
> +    nunroll = targetm.loop_unroll_adjust (nunroll, loop);
> +
>    /* Skip big loops.  */
>    if (nunroll <= 1)
>      {
>
> -----Original Message-----
> From: Uros Bizjak [mailto:ubiz...@gmail.com]
> Sent: Friday, November 22, 2013 1:46 PM
> To: Gopalasubramanian, Ganesh
> Cc: gcc-patches@gcc.gnu.org; Richard Guenther <richard.guent...@gmail.com> 
> (richard.guent...@gmail.com); borntrae...@de.ibm.com; H.J. Lu 
> (hjl.to...@gmail.com); Jakub Jelinek (ja...@redhat.com)
> Subject: Re: [RFC] [PATCH, i386] Adjust unroll factor for bdver3 and bdver4
>
> On Wed, Nov 20, 2013 at 7:26 PM, Gopalasubramanian, Ganesh 
> <ganesh.gopalasubraman...@amd.com> wrote:
>
>> Steamroller processors contain a loop predictor and a loop buffer, which may 
>> make unrolling small loops less important.
>> When unrolling small loops for steamroller, making the unrolled loop fit in 
>> the loop buffer should be a priority.
>>
>> This patch uses a heuristic approach (number of memory references) to decide 
>> the unrolling factor for small loops.
>> This patch has some noise in SPEC 2006 results.
>>
>> Bootstrapping passes.
>>
>> I would like to know your comments before committing.
>
> Please split the patch to target-dependant and target-independant part, and 
> get target-idependant part reviewed first.
>

Reply via email to