summaryrefslogtreecommitdiff
path: root/gcc
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
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')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/dce.c7
2 files changed, 12 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a0a3833a0ba..4a833cbd261 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2010-07-29 Bernd Schmidt <bernds@codesourcery.com>
+
+ * dce.c (run_word_dce): Take flag_dce into account. Clear and restore
+ df flags as in run_fast_df_dce.
+
2010-07-29 Jakub Jelinek <jakub@redhat.com>
Revert:
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);
}