aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordalej <dalej@138bc75d-0d04-0410-961f-82ee72b054a4>2004-03-19 18:26:09 +0000
committerdalej <dalej@138bc75d-0d04-0410-961f-82ee72b054a4>2004-03-19 18:26:09 +0000
commit9c71707fdbacdeed1ee186b2f314916076ddf30b (patch)
tree69971f2bae971e4bed77d883b0a26df125148a84
parent91b1dbff5077303b9d7cd09381544d1f55efdb35 (diff)
2003-03-19 Dale Johannesen <dalej@apple.com>
* tree-ssa-dse.c (dse_optimize_stmt): Redirect uses feeding into a deleted store correctly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-ssa-20020619-branch@79694 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog.tree-ssa5
-rw-r--r--gcc/tree-ssa-dse.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog.tree-ssa b/gcc/ChangeLog.tree-ssa
index 2f6f7fb3a0f..b3fee0543ba 100644
--- a/gcc/ChangeLog.tree-ssa
+++ b/gcc/ChangeLog.tree-ssa
@@ -1,3 +1,8 @@
+2003-03-19 Dale Johannesen <dalej@apple.com>
+
+ * tree-ssa-dse.c (dse_optimize_stmt): Redirect uses feeding into
+ a deleted store correctly.
+
2003-03-19 Jeff Law <law@redhat.com>
* tree-dfa.c (find_hidden_use_vars): Also look inside the
diff --git a/gcc/tree-ssa-dse.c b/gcc/tree-ssa-dse.c
index 68bdfe9ae58..fca08ac6519 100644
--- a/gcc/tree-ssa-dse.c
+++ b/gcc/tree-ssa-dse.c
@@ -310,8 +310,9 @@ dse_optimize_stmt (struct dom_walk_data *walk_data,
}
/* Any immediate uses which reference STMT need to instead
- reference USE. This allows us to cascade dead stores. */
- redirect_immediate_uses (stmt, use);
+ reference the new consumer, either SKIPPED_PHI or USE.
+ This allows us to cascade dead stores. */
+ redirect_immediate_uses (stmt, skipped_phi ? skipped_phi : use);
/* Finally remove the dead store. */
bsi_remove (&bsi);