summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/tree-ssa-pre.c8
2 files changed, 10 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e3380b50b8c..46ee450c5fd 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2007-05-13 Daniel Berlin <dberlin@dberlin.org>
+
+ Fix PR tree-optimization/31911
+ * tree-ssa-pre.c (phi_translate): Make sure to cache results even
+ if they didn't change the expression.
+
2007-05-13 Zdenek Dvorak <dvorakz@suse.cz>
* tree-scalar-evolution.c (resolve_mixers): Exported.
diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c
index 7275acf07fb..46332112cda 100644
--- a/gcc/tree-ssa-pre.c
+++ b/gcc/tree-ssa-pre.c
@@ -1075,8 +1075,8 @@ phi_translate (tree expr, bitmap_set_t set1, bitmap_set_t set2,
newexpr->base.ann = NULL;
vn_lookup_or_add_with_vuses (newexpr, tvuses);
expr = newexpr;
- phi_trans_add (oldexpr, newexpr, pred, tvuses);
}
+ phi_trans_add (oldexpr, expr, pred, tvuses);
}
}
return expr;
@@ -1188,8 +1188,8 @@ phi_translate (tree expr, bitmap_set_t set1, bitmap_set_t set2,
vn_lookup_or_add_with_vuses (newexpr, newvuses);
}
expr = newexpr;
- phi_trans_add (oldexpr, newexpr, pred, newvuses);
}
+ phi_trans_add (oldexpr, expr, pred, newvuses);
}
return expr;
break;
@@ -1233,8 +1233,8 @@ phi_translate (tree expr, bitmap_set_t set1, bitmap_set_t set2,
vn_lookup_or_add (newexpr, NULL);
}
expr = newexpr;
- phi_trans_add (oldexpr, newexpr, pred, NULL);
}
+ phi_trans_add (oldexpr, expr, pred, NULL);
}
return expr;
@@ -1266,8 +1266,8 @@ phi_translate (tree expr, bitmap_set_t set1, bitmap_set_t set2,
vn_lookup_or_add (newexpr, NULL);
}
expr = newexpr;
- phi_trans_add (oldexpr, newexpr, pred, NULL);
}
+ phi_trans_add (oldexpr, expr, pred, NULL);
}
return expr;
OpenPOWER on IntegriCloud