[Bug target/95018] [10/11 Regression] Excessive unrolling for Fortran library array handling
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Jun 19 14:39:34 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95018
--- Comment #39 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Jiu Fu Guo
<guojiufu@gcc.gnu.org>:
https://gcc.gnu.org/g:60bd3f20baebeeddd60f8a2b85927e7da7c6016e
commit r10-8327-g60bd3f20baebeeddd60f8a2b85927e7da7c6016e
Author: guojiufu <guojiufu@linux.ibm.com>
Date: Thu May 28 13:42:23 2020 +0800
Introduce flag_cunroll_grow_size for cunroll and avoid enable it at -O2
Currently GIMPLE complete unroller(cunroll) is checking
flag_unroll_loops and flag_peel_loops to see if allow size growth.
Beside affects curnoll, flag_unroll_loops also controls RTL unroler.
To have more freedom to control cunroll and RTL unroller, this patch
introduces flag_cunroll_grow_size. With this patch, we can control
cunroll and RTL unroller indepently. And enable flag_cunroll_grow_size
only if -funroll-loops or -fpeel-loops or -O3 is specified explicitly.
gcc/ChangeLog
2020-06-19 Jiufu Guo <guojiufu@linux.ibm.com>
PR target/95018
* common.opt (flag_cunroll_grow_size): New flag.
* toplev.c (process_options): Set flag_cunroll_grow_size.
* tree-ssa-loop-ivcanon.c (pass_complete_unroll::execute):
Use flag_cunroll_grow_size.
* config/rs6000/rs6000.c (rs6000_option_override_internal):
Override flag_cunroll_grow_size.
More information about the Gcc-bugs
mailing list