aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-pre.c
diff options
context:
space:
mode:
authorDaniel Berlin <dberlin@dberlin.org>2007-05-13 21:52:10 +0000
committerDaniel Berlin <dberlin@gcc.gnu.org>2007-05-13 21:52:10 +0000
commit4076455d9b899d573198d0f7296cb8b5a4fb3ddb (patch)
treeefb0d0fbdd842985d424b5636f9f423b12e8a53e /gcc/tree-ssa-pre.c
parent3cb960c703ec1fbbd2c0b9f821dc957a56aa5d00 (diff)
downloadgcc-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
Diffstat (limited to 'gcc/tree-ssa-pre.c')
-rw-r--r--gcc/tree-ssa-pre.c8
1 files changed, 4 insertions, 4 deletions
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;