aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Biener <rguenth@gcc.gnu.org>2017-11-17 09:06:54 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2017-11-17 09:06:54 +0000
commitc5e8a8c94a7f2e87b7b12f42cfda68a40ac58491 (patch)
treefb4204862871accb3c983453814e3bfcf1c5c7a7
parentfa30ba9949962eda041475d98c74675e84538eae (diff)
downloadgcc-c5e8a8c94a7f2e87b7b12f42cfda68a40ac58491.zip
gcc-c5e8a8c94a7f2e87b7b12f42cfda68a40ac58491.tar.gz
gcc-c5e8a8c94a7f2e87b7b12f42cfda68a40ac58491.tar.bz2
tree-ssa-pre.c (phi_translate_1): Remove redundant constant folding of references.
2017-11-17 Richard Biener <rguenther@suse.de> * tree-ssa-pre.c (phi_translate_1): Remove redundant constant folding of references. From-SVN: r254858
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/tree-ssa-pre.c18
2 files changed, 9 insertions, 16 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 165c5c9..e07b3e6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,4 +1,9 @@
-2017-11-15 Qing Zhao <qing.zhao@oracle.com>
+2017-11-17 Richard Biener <rguenther@suse.de>
+
+ * tree-ssa-pre.c (phi_translate_1): Remove redundant constant
+ folding of references.
+
+2017-11-17 Qing Zhao <qing.zhao@oracle.com>
PR middle-end/78809
* gimple-fold.c (gimple_fold_builtin_string_compare): Add handling
diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c
index 281f100..ecc3484 100644
--- a/gcc/tree-ssa-pre.c
+++ b/gcc/tree-ssa-pre.c
@@ -1566,7 +1566,6 @@ phi_translate_1 (pre_expr expr, bitmap_set_t set1, bitmap_set_t set2,
if (changed || newvuse != vuse)
{
unsigned int new_val_id;
- pre_expr constant;
tree result = vn_reference_lookup_pieces (newvuse, ref->set,
ref->type,
@@ -1611,15 +1610,7 @@ phi_translate_1 (pre_expr expr, bitmap_set_t set1, bitmap_set_t set2,
expr->id = 0;
if (newref)
- {
- PRE_EXPR_REFERENCE (expr) = newref;
- constant = fully_constant_expression (expr);
- if (constant != expr)
- return constant;
-
- new_val_id = newref->value_id;
- get_or_alloc_expression_id (expr);
- }
+ new_val_id = newref->value_id;
else
{
if (changed || !same_valid)
@@ -1637,12 +1628,9 @@ phi_translate_1 (pre_expr expr, bitmap_set_t set1, bitmap_set_t set2,
newoperands,
result, new_val_id);
newoperands = vNULL;
- PRE_EXPR_REFERENCE (expr) = newref;
- constant = fully_constant_expression (expr);
- if (constant != expr)
- return constant;
- get_or_alloc_expression_id (expr);
}
+ PRE_EXPR_REFERENCE (expr) = newref;
+ get_or_alloc_expression_id (expr);
add_to_value (new_val_id, expr);
}
newoperands.release ();