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 + + 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 * 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;