diff options
author | Daniel Berlin <dberlin@dberlin.org> | 2007-05-13 21:52:10 +0000 |
---|---|---|
committer | Daniel Berlin <dberlin@gcc.gnu.org> | 2007-05-13 21:52:10 +0000 |
commit | 4076455d9b899d573198d0f7296cb8b5a4fb3ddb (patch) | |
tree | efb0d0fbdd842985d424b5636f9f423b12e8a53e | |
parent | 3cb960c703ec1fbbd2c0b9f821dc957a56aa5d00 (diff) | |
download | gcc-4076455d9b899d573198d0f7296cb8b5a4fb3ddb.zip gcc-4076455d9b899d573198d0f7296cb8b5a4fb3ddb.tar.gz gcc-4076455d9b899d573198d0f7296cb8b5a4fb3ddb.tar.bz2 |
re PR tree-optimization/31911 (Short function (md4) takes very long to compile)
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.
From-SVN: r124657
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/tree-ssa-pre.c | 8 |
2 files changed, 10 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e3380b5..46ee450 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 7275acf..4633211 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; |