summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2008-09-11 21:48:11 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2008-09-11 21:48:11 +0000
commit024e445d2db38a6be3ca98818b88308ed6f1a699 (patch)
treead1bf6e763c08f623a606f6642b9a2c80ea5bb96 /gcc
parentd3b4b97f7c84f71f93eba50e0b039f85ab73470d (diff)
downloadgcc-024e445d2db38a6be3ca98818b88308ed6f1a699.tar.gz
2008-09-11 Richard Guenther <rguenther@suse.de>
* tree-ssa-uncprop.c (associate_equivalences_with_edges): Avoid entering the weaker equivalence recording. * tree-ssa-phiprop.c (propagate_with_phi): Fix tuplification. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140300 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/tree-ssa-phiprop.c2
-rw-r--r--gcc/tree-ssa-uncprop.c10
3 files changed, 13 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d55103b5b93..6bd0082f83e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2008-09-11 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-uncprop.c (associate_equivalences_with_edges): Avoid
+ entering the weaker equivalence recording.
+
+ * tree-ssa-phiprop.c (propagate_with_phi): Fix tuplification.
+
2008-09-11 Jeff Law <law@redhat.com>
* reload1.c (alter_reg): Undo the BYTE_BIG_ENDIAN correction performed
diff --git a/gcc/tree-ssa-phiprop.c b/gcc/tree-ssa-phiprop.c
index ff3ee4a439f..27ad87ddf55 100644
--- a/gcc/tree-ssa-phiprop.c
+++ b/gcc/tree-ssa-phiprop.c
@@ -247,7 +247,7 @@ propagate_with_phi (basic_block bb, gimple phi, struct phiprop_d *phivn,
|| phivn[SSA_NAME_VERSION (arg)].value == NULL_TREE))
{
gimple def_stmt = SSA_NAME_DEF_STMT (arg);
- if (gimple_code (def_stmt) != GIMPLE_ASSIGN)
+ if (!gimple_assign_single_p (def_stmt))
return false;
arg = gimple_assign_rhs1 (def_stmt);
}
diff --git a/gcc/tree-ssa-uncprop.c b/gcc/tree-ssa-uncprop.c
index 335d7aed14b..ceaa40d9c11 100644
--- a/gcc/tree-ssa-uncprop.c
+++ b/gcc/tree-ssa-uncprop.c
@@ -137,11 +137,11 @@ associate_equivalences_with_edges (void)
}
}
- if (TREE_CODE (op0) == SSA_NAME
- && !SSA_NAME_OCCURS_IN_ABNORMAL_PHI (op0)
- && (is_gimple_min_invariant (op1)
- || (TREE_CODE (op1) == SSA_NAME
- && !SSA_NAME_OCCURS_IN_ABNORMAL_PHI (op1))))
+ else if (TREE_CODE (op0) == SSA_NAME
+ && !SSA_NAME_OCCURS_IN_ABNORMAL_PHI (op0)
+ && (is_gimple_min_invariant (op1)
+ || (TREE_CODE (op1) == SSA_NAME
+ && !SSA_NAME_OCCURS_IN_ABNORMAL_PHI (op1))))
{
/* For IEEE, -0.0 == 0.0, so we don't necessarily know
the sign of a variable compared against zero. If