From: Daniel Berlin Date: Sun, 13 May 2007 21:52:10 +0000 (+0000) Subject: re PR tree-optimization/31911 (Short function (md4) takes very long to compile) X-Git-Tag: releases/gcc-4.3.0~5114 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4076455d9b899d573198d0f7296cb8b5a4fb3ddb;p=thirdparty%2Fgcc.git re PR tree-optimization/31911 (Short function (md4) takes very long to compile) 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. From-SVN: r124657 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e3380b50b8ce..46ee450c5fd0 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 7275acf07fbc..46332112cda0 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;