From df0f33923567d9ab3ab3e34893b4e4ad8282c6f1 Mon Sep 17 00:00:00 2001 From: Ganesh Gopalasubramanian Date: Mon, 2 Dec 2013 07:27:14 +0000 Subject: [PATCH] Check TARGET_LOOP_UNROLL_ADJUST while deciding unroll factor From-SVN: r205580 --- gcc/ChangeLog | 5 +++++ gcc/loop-unroll.c | 3 +++ 2 files changed, 8 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d4fc7ebc3768..0e5112eb22a9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-12-02 Ganesh Gopalasubramanian + + * loop-unroll.c (decide_unroll_constant_iterations): Check macro + TARGET_LOOP_UNROLL_ADJUST while deciding unroll factor. + 2013-12-01 Eric Botcazou * config/i386/winnt.c (i386_pe_asm_named_section): Be prepared for an diff --git a/gcc/loop-unroll.c b/gcc/loop-unroll.c index 9c871678f6b7..557915fafbc1 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) { -- 2.47.3