diff options
author | David Li <davidxl@google.com> | 2011-06-09 16:09:23 +0000 |
---|---|---|
committer | Xinliang David Li <davidxl@gcc.gnu.org> | 2011-06-09 16:09:23 +0000 |
commit | bdf67bcba3ccc715da89128200d06140943f33b4 (patch) | |
tree | 4df88ba9bea41f8d545aabd4a90d1d88d969a1e6 /gcc/gcse.c | |
parent | 0d1d0dc8aa325982f4a07d79bce1a5b21e71d4ab (diff) | |
download | gcc-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.c | 23 |
1 files changed, 13 insertions, 10 deletions
@@ -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" - |