aboutsummaryrefslogtreecommitdiff
path: root/gcc/gcse.c
diff options
context:
space:
mode:
authorDavid Li <davidxl@google.com>2011-06-09 16:09:23 +0000
committerXinliang David Li <davidxl@gcc.gnu.org>2011-06-09 16:09:23 +0000
commitbdf67bcba3ccc715da89128200d06140943f33b4 (patch)
tree4df88ba9bea41f8d545aabd4a90d1d88d969a1e6 /gcc/gcse.c
parent0d1d0dc8aa325982f4a07d79bce1a5b21e71d4ab (diff)
downloadgcc-bdf67bcba3ccc715da89128200d06140943f33b4.zip
gcc-bdf67bcba3ccc715da89128200d06140943f33b4.tar.gz
gcc-bdf67bcba3ccc715da89128200d06140943f33b4.tar.bz2
Gator cleanup
From-SVN: r174848
Diffstat (limited to 'gcc/gcse.c')
-rw-r--r--gcc/gcse.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/gcc/gcse.c b/gcc/gcse.c
index 41fff7a..fd1455f 100644
--- a/gcc/gcse.c
+++ b/gcc/gcse.c
@@ -3713,15 +3713,17 @@ static bool
gate_rtl_pre (void)
{
return optimize > 0 && flag_gcse
- && !cfun->calls_setjmp
- && optimize_function_for_speed_p (cfun)
- && dbg_cnt (pre);
+ && optimize_function_for_speed_p (cfun);
}
static unsigned int
execute_rtl_pre (void)
{
int changed;
+
+ if (cfun->calls_setjmp || !dbg_cnt (pre))
+ return 0;
+
delete_unreachable_blocks ();
df_analyze ();
changed = one_pre_gcse_pass ();
@@ -3735,18 +3737,20 @@ static bool
gate_rtl_hoist (void)
{
return optimize > 0 && flag_gcse
- && !cfun->calls_setjmp
- /* It does not make sense to run code hoisting unless we are optimizing
- for code size -- it rarely makes programs faster, and can make then
- bigger if we did PRE (when optimizing for space, we don't run PRE). */
- && optimize_function_for_size_p (cfun)
- && dbg_cnt (hoist);
+ /* It does not make sense to run code hoisting unless we are optimizing
+ for code size -- it rarely makes programs faster, and can make then
+ bigger if we did PRE (when optimizing for space, we don't run PRE). */
+ && optimize_function_for_size_p (cfun);
}
static unsigned int
execute_rtl_hoist (void)
{
int changed;
+
+ if (cfun->calls_setjmp || !dbg_cnt (hoist))
+ return 0;
+
delete_unreachable_blocks ();
df_analyze ();
changed = one_code_hoisting_pass ();
@@ -3799,4 +3803,3 @@ struct rtl_opt_pass pass_rtl_hoist =
};
#include "gt-gcse.h"
-