diff options
author | David Li <davidxl@google.com> | 2011-06-09 16:09:23 +0000 |
---|---|---|
committer | David Li <davidxl@google.com> | 2011-06-09 16:09:23 +0000 |
commit | 069d5dce734c1e2c9fe98aa840a13024796c01dc (patch) | |
tree | 4df88ba9bea41f8d545aabd4a90d1d88d969a1e6 /gcc/gcse.c | |
parent | 10fce9dea1b953395b33858f48f0fc3ea474f409 (diff) |
Gator cleanup
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@174848 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/gcse.c')
-rw-r--r-- | gcc/gcse.c | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/gcc/gcse.c b/gcc/gcse.c index 41fff7ab86b..fd1455f0790 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" - |