tree-ssa-pre.c (phi_translate_1): Remove redundant constant folding of references.
authorRichard Biener <rguenth@gcc.gnu.org>
Fri, 17 Nov 2017 09:06:54 +0000 (09:06 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Fri, 17 Nov 2017 09:06:54 +0000 (09:06 +0000)
2017-11-17  Richard Biener  <rguenther@suse.de>

* tree-ssa-pre.c (phi_translate_1): Remove redundant constant
folding of references.

From-SVN: r254858

gcc/ChangeLog
gcc/tree-ssa-pre.c

index 165c5c976aa809a9fb0097cff623917008d28d15..e07b3e6d175944142d12c602ff4eed666c7a77df 100644 (file)
@@ -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
index 281f100ada2ec0bcecfca12e14acdb73e2014e2f..ecc348436ff31d0296854fd7379c32fbbf391c96 100644 (file)
@@ -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 ();