aboutsummaryrefslogtreecommitdiff
path: root/gcc/gcse.c
diff options
context:
space:
mode:
authorXinliang David Li <davidxl@gcc.gnu.org>2011-06-09 22:49:12 +0000
committerXinliang David Li <davidxl@gcc.gnu.org>2011-06-09 22:49:12 +0000
commit1f9081d15d2bfd28a5951d87f6e6f3fb254cdbdd (patch)
tree90db0a19c995b30c6d8bb39190ca384e0d63716e /gcc/gcse.c
parent54466dde7477a1ef8dacf54b89ab47ef59d83555 (diff)
downloadgcc-1f9081d15d2bfd28a5951d87f6e6f3fb254cdbdd.zip
gcc-1f9081d15d2bfd28a5951d87f6e6f3fb254cdbdd.tar.gz
gcc-1f9081d15d2bfd28a5951d87f6e6f3fb254cdbdd.tar.bz2
Revert r174848,174849
From-SVN: r174864
Diffstat (limited to 'gcc/gcse.c')
-rw-r--r--gcc/gcse.c23
1 files changed, 10 insertions, 13 deletions
diff --git a/gcc/gcse.c b/gcc/gcse.c
index fd1455f..41fff7a 100644
--- a/gcc/gcse.c
+++ b/gcc/gcse.c
@@ -3713,17 +3713,15 @@ static bool
gate_rtl_pre (void)
{
return optimize > 0 && flag_gcse
- && optimize_function_for_speed_p (cfun);
+ && !cfun->calls_setjmp
+ && optimize_function_for_speed_p (cfun)
+ && dbg_cnt (pre);
}
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 ();
@@ -3737,20 +3735,18 @@ static bool
gate_rtl_hoist (void)
{
return optimize > 0 && flag_gcse
- /* 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);
+ && !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);
}
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 ();
@@ -3803,3 +3799,4 @@ struct rtl_opt_pass pass_rtl_hoist =
};
#include "gt-gcse.h"
+