aboutsummaryrefslogtreecommitdiff
path: root/gcc/toplev.c
diff options
context:
space:
mode:
authorVladimir Makarov <vmakarov@redhat.com>2011-11-23 18:51:17 +0000
committerVladimir Makarov <vmakarov@gcc.gnu.org>2011-11-23 18:51:17 +0000
commitffe8727f47239229b1830f0a67921f8dc4c69b13 (patch)
tree417f4807f2ac303fb2e45ded4d924d1d329be5e0 /gcc/toplev.c
parent810fb8f1d6cadce0899872c310ebbae829d673dd (diff)
downloadgcc-ffe8727f47239229b1830f0a67921f8dc4c69b13.zip
gcc-ffe8727f47239229b1830f0a67921f8dc4c69b13.tar.gz
gcc-ffe8727f47239229b1830f0a67921f8dc4c69b13.tar.bz2
re PR rtl-optimization/48455 (Huge code size regression for all ARM configurations)
2011-11-23 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/48455 * doc/invoke.texi (-fira-region): Document default values. * flags-types.h (enum ira_region): Add new value IRA_REGION_AUTODETECT. * common.opt (fira-region): Set up initial value to IRA_REGION_AUTODETECT. * toplev.c (process_options): Set up flag_ira_region depending on -O options. * ira.c (ira.c): Remove optimize guard for ira_build. From-SVN: r181675
Diffstat (limited to 'gcc/toplev.c')
-rw-r--r--gcc/toplev.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/toplev.c b/gcc/toplev.c
index de255b4..9be9109 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -1333,6 +1333,11 @@ process_options (void)
"and -ftree-loop-linear)");
#endif
+ /* One region RA really helps to decrease the code size. */
+ if (flag_ira_region == IRA_REGION_AUTODETECT)
+ flag_ira_region
+ = optimize_size || !optimize ? IRA_REGION_ONE : IRA_REGION_MIXED;
+
/* Unrolling all loops implies that standard loop unrolling must also
be done. */
if (flag_unroll_all_loops)