diff options
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/loop-unroll.c | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d4fc7eb..0e5112e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-12-02 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com> + + * loop-unroll.c (decide_unroll_constant_iterations): Check macro + TARGET_LOOP_UNROLL_ADJUST while deciding unroll factor. + 2013-12-01 Eric Botcazou <ebotcazou@adacore.com> * 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 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) { |
