aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKazu Hirata <kazu@cs.umass.edu>2005-03-05 13:49:43 +0000
committerKazu Hirata <kazu@gcc.gnu.org>2005-03-05 13:49:43 +0000
commit52c3e649f639aee4dd469b41a32c9a1134eb81f1 (patch)
treeafe2154c65a8f2e29991715f4bb5cb09f4853283
parent74231b0f2c5e178da69919a807d7054f64d7bf59 (diff)
downloadgcc-52c3e649f639aee4dd469b41a32c9a1134eb81f1.zip
gcc-52c3e649f639aee4dd469b41a32c9a1134eb81f1.tar.gz
gcc-52c3e649f639aee4dd469b41a32c9a1134eb81f1.tar.bz2
predict.c (apply_return_prediction): Standardize PHI chain walking.
* predict.c (apply_return_prediction): Standardize PHI chain walking. * tree-ssa.c (ssa_redirect_edge): Likewise. From-SVN: r95930
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/predict.c11
-rw-r--r--gcc/tree-ssa.c6
3 files changed, 11 insertions, 12 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bd96cf9..6077f1a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2005-03-05 Kazu Hirata <kazu@cs.umass.edu>
+
+ * predict.c (apply_return_prediction): Standardize PHI chain
+ walking.
+ * tree-ssa.c (ssa_redirect_edge): Likewise.
+
2005-03-05 Richard Sandiford <rsandifo@redhat.com>
* doc/invoke.texi: Document new MIPS -msym32 and -mno-sym32 options.
diff --git a/gcc/predict.c b/gcc/predict.c
index bf594ac..9a00f0b 100644
--- a/gcc/predict.c
+++ b/gcc/predict.c
@@ -1207,14 +1207,9 @@ apply_return_prediction (int *heads)
|| !SSA_NAME_DEF_STMT (return_val)
|| TREE_CODE (SSA_NAME_DEF_STMT (return_val)) != PHI_NODE)
return;
- phi = SSA_NAME_DEF_STMT (return_val);
- while (phi)
- {
- tree next = PHI_CHAIN (phi);
- if (PHI_RESULT (phi) == return_val)
- break;
- phi = next;
- }
+ for (phi = SSA_NAME_DEF_STMT (return_val); phi; phi = PHI_CHAIN (phi))
+ if (PHI_RESULT (phi) == return_val)
+ break;
if (!phi)
return;
phi_num_args = PHI_NUM_ARGS (phi);
diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c
index 9346d6c..99b9627 100644
--- a/gcc/tree-ssa.c
+++ b/gcc/tree-ssa.c
@@ -53,15 +53,13 @@ Boston, MA 02111-1307, USA. */
edge
ssa_redirect_edge (edge e, basic_block dest)
{
- tree phi, next;
+ tree phi;
tree list = NULL, *last = &list;
tree src, dst, node;
/* Remove the appropriate PHI arguments in E's destination block. */
- for (phi = phi_nodes (e->dest); phi; phi = next)
+ for (phi = phi_nodes (e->dest); phi; phi = PHI_CHAIN (phi))
{
- next = PHI_CHAIN (phi);
-
if (PHI_ARG_DEF (phi, e->dest_idx) == NULL_TREE)
continue;