diff options
author | Vladimir Makarov <vmakarov@redhat.com> | 2009-10-22 01:44:39 +0000 |
---|---|---|
committer | Vladimir Makarov <vmakarov@gcc.gnu.org> | 2009-10-22 01:44:39 +0000 |
commit | 7e1e7d4cc65dedaf07bbbb367253b569f2311c66 (patch) | |
tree | a8f72381ffa5fe5e541724f227760f360d1ef388 /gcc | |
parent | 9f217aad2d8ef4a506d246a1f21fb44b10301ab2 (diff) | |
download | gcc-7e1e7d4cc65dedaf07bbbb367253b569f2311c66.zip gcc-7e1e7d4cc65dedaf07bbbb367253b569f2311c66.tar.gz gcc-7e1e7d4cc65dedaf07bbbb367253b569f2311c66.tar.bz2 |
invoke.texi (fira-loop-pressure): Update default value.
2009-10-21 Vladimir Makarov <vmakarov@redhat.com>
* doc/invoke.texi (fira-loop-pressure): Update default value.
* opts.c (decode_options): Remove default value setting for
flag_ira_loop_pressure.
* config/ia64/ia64.c (ia64_override_options): Set
flag_ira_loop_pressure up for -O3.
* config/rs6000/rs6000.c (rs6000_override_options): Ditto.
From-SVN: r153445
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/config/ia64/ia64.c | 8 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 7 | ||||
-rw-r--r-- | gcc/doc/invoke.texi | 8 | ||||
-rw-r--r-- | gcc/opts.c | 1 |
5 files changed, 28 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d5e3ce9..1808c43 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2009-10-21 Vladimir Makarov <vmakarov@redhat.com> + + * doc/invoke.texi (fira-loop-pressure): Update default value. + * opts.c (decode_options): Remove default value setting for + flag_ira_loop_pressure. + * config/ia64/ia64.c (ia64_override_options): Set + flag_ira_loop_pressure up for -O3. + * config/rs6000/rs6000.c (rs6000_override_options): Ditto. + 2009-10-21 Sebastian Pop <sebastian.pop@amd.com> PR tree-optimization/41497 diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c index 75c8f0e..23fc754 100644 --- a/gcc/config/ia64/ia64.c +++ b/gcc/config/ia64/ia64.c @@ -5496,6 +5496,14 @@ ia64_override_options (void) if (TARGET_AUTO_PIC) target_flags |= MASK_CONST_GP; + /* Numerous experiment shows that IRA based loop pressure + calculation works better for RTL loop invariant motion on targets + with enough (>= 32) registers. It is an expensive optimization. + So it is on only for peak performance. */ + if (optimize >= 3) + flag_ira_loop_pressure = 1; + + ia64_flag_schedule_insns2 = flag_schedule_insns_after_reload; flag_schedule_insns_after_reload = 0; diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 8bb9212..9b03a9b 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -2281,6 +2281,13 @@ rs6000_override_options (const char *default_cpu) | MASK_POPCNTD | MASK_VSX | MASK_ISEL | MASK_NO_UPDATE) }; + /* Numerous experiment shows that IRA based loop pressure + calculation works better for RTL loop invariant motion on targets + with enough (>= 32) registers. It is an expensive optimization. + So it is on only for peak performance. */ + if (optimize >= 3) + flag_ira_loop_pressure = 1; + /* Set the pointer size. */ if (TARGET_64BIT) { diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 0a7d979..7b20ced 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -5733,8 +5733,7 @@ invoking @option{-O2} on programs that use computed gotos. Optimize yet more. @option{-O3} turns on all optimizations specified by @option{-O2} and also turns on the @option{-finline-functions}, @option{-funswitch-loops}, @option{-fpredictive-commoning}, -@option{-fgcse-after-reload}, @option{-ftree-vectorize} and -@option{-fira-loop-pressure} options. +@option{-fgcse-after-reload} and @option{-ftree-vectorize} options. @item -O0 @opindex O0 @@ -6235,9 +6234,10 @@ architectures with big regular register files. @opindex fira-loop-pressure Use IRA to evaluate register pressure in loops for decision to move loop invariants. Usage of this option usually results in generation -of faster and smaller code but can slow compiler down. +of faster and smaller code on machines with big register files (>= 32 +registers) but it can slow compiler down. -This option is enabled at level @option{-O3}. +This option is enabled at level @option{-O3} for some targets. @item -fno-ira-share-save-slots @opindex fno-ira-share-save-slots @@ -917,7 +917,6 @@ decode_options (unsigned int argc, const char **argv) flag_ipa_cp_clone = opt3; if (flag_ipa_cp_clone) flag_ipa_cp = 1; - flag_ira_loop_pressure = opt3; /* Just -O1/-O0 optimizations. */ opt1_max = (optimize <= 1); |