tree-ssa-pre.c (insert_into_preds_of_block): Do not call convert.
authorRichard Guenther <rguenther@suse.de>
Mon, 14 Jul 2008 08:46:14 +0000 (08:46 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Mon, 14 Jul 2008 08:46:14 +0000 (08:46 +0000)
2008-07-14  Richard Guenther  <rguenther@suse.de>

* tree-ssa-pre.c (insert_into_preds_of_block): Do not call
convert.

From-SVN: r137780

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

index 00d6661504e0878bf2504fb0acbceaabbe402e6a..09fa7d3f6f957027defaa3654f1bf8e7f3e40044 100644 (file)
@@ -1,3 +1,8 @@
+2008-07-14  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-pre.c (insert_into_preds_of_block): Do not call
+       convert.
+
 2008-07-14  Andreas Krebbel  <krebbel1@de.ibm.com>
 
        PR target/36745
index 215074be8f92f4adecee351a047a790d90c54e3c..07290bc48c4446423327b9e8293133d49d7b3898 100644 (file)
@@ -2949,18 +2949,11 @@ insert_into_preds_of_block (basic_block block, unsigned int exprnum,
             our IL requires all operands of a phi node have the same
             type.  */
          tree name = PRE_EXPR_NAME (eprime);
-         if (TREE_TYPE (name) != type)
+         if (!useless_type_conversion_p (type, TREE_TYPE (name)))
            {
              tree builtexpr;
              tree forcedexpr;
-             /* When eliminating casts through unions,
-                we sometimes want to convert a real to an integer,
-                which fold_convert will ICE on  */
-/*           if (fold_convertible_p (type, name)) */
-               builtexpr = fold_convert (type, name);
-/*           else
-               builtexpr = convert (type, name);*/
-
+             builtexpr = fold_convert (type, name);
              forcedexpr = force_gimple_operand (builtexpr,
                                                 &stmts, true,
                                                 NULL);