summaryrefslogtreecommitdiff
path: root/gcc/dce.c
diff options
context:
space:
mode:
authorbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>2010-07-29 23:48:24 +0000
committerbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>2010-07-29 23:48:24 +0000
commit55fed53b9bdfab1393003e01db7b97274ad8df78 (patch)
treedc34da4c421183e51dafaacfe7f47b66a9b2eb81 /gcc/dce.c
parent40c74b02b7c3ff203aff0cfdfb1ff17f78b73ab8 (diff)
downloadgcc-55fed53b9bdfab1393003e01db7b97274ad8df78.tar.gz
* dce.c (run_word_dce): Take flag_dce into account. Clear and restore
df flags as in run_fast_df_dce. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162697 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/dce.c')
-rw-r--r--gcc/dce.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/dce.c b/gcc/dce.c
index 19f8e42030d..c940adf304f 100644
--- a/gcc/dce.c
+++ b/gcc/dce.c
@@ -1025,11 +1025,18 @@ rest_of_handle_fast_dce (void)
void
run_word_dce (void)
{
+ int old_flags;
+
+ if (!flag_dce)
+ return;
+
timevar_push (TV_DCE);
+ old_flags = df_clear_flags (DF_DEFER_INSN_RESCAN + DF_NO_INSN_RESCAN);
df_word_lr_add_problem ();
init_dce (true);
fast_dce (true);
fini_dce (true);
+ df_set_flags (old_flags);
timevar_pop (TV_DCE);
}