aboutsummaryrefslogtreecommitdiff
path: root/gcc/cprop.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/cprop.c
parent0d1d0dc8aa325982f4a07d79bce1a5b21e71d4ab (diff)
downloadgcc-bdf67bcba3ccc715da89128200d06140943f33b4.zip
gcc-bdf67bcba3ccc715da89128200d06140943f33b4.tar.gz
gcc-bdf67bcba3ccc715da89128200d06140943f33b4.tar.bz2
Gator cleanup
From-SVN: r174848
Diffstat (limited to 'gcc/cprop.c')
-rw-r--r--gcc/cprop.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/gcc/cprop.c b/gcc/cprop.c
index b7b17b1..a81a808 100644
--- a/gcc/cprop.c
+++ b/gcc/cprop.c
@@ -1843,15 +1843,17 @@ one_cprop_pass (void)
static bool
gate_rtl_cprop (void)
{
- return optimize > 0 && flag_gcse
- && !cfun->calls_setjmp
- && dbg_cnt (cprop);
+ return optimize > 0 && flag_gcse;
}
static unsigned int
execute_rtl_cprop (void)
{
int changed;
+
+ if (cfun->calls_setjmp || !dbg_cnt (cprop))
+ return 0;
+
delete_unreachable_blocks ();
df_set_flags (DF_LR_RUN_DCE);
df_analyze ();
@@ -1882,4 +1884,3 @@ struct rtl_opt_pass pass_rtl_cprop =
TODO_verify_flow | TODO_ggc_collect /* todo_flags_finish */
}
};
-