re PR middle-end/48984 (Many testsuite failures)
authorKai Tietz <ktietz@redhat.com>
Fri, 13 May 2011 09:21:36 +0000 (11:21 +0200)
committerKai Tietz <ktietz@gcc.gnu.org>
Fri, 13 May 2011 09:21:36 +0000 (11:21 +0200)
2011-05-13  Kai Tietz  <ktietz@redhat.com>

        PR middle-end/48984
        * gimplify.c (gimplify_expr): Check for boolean_type_node instead
        for BOOLEAN_TYPE for TRUTH-NOT/AND/OR/XOR.
        (gimple_boolify): Check for cast for boolean_type_node instead for
        BOOLEAN_TYPE.

From-SVN: r173726

gcc/ChangeLog
gcc/gimplify.c

index bd8db53a3f7532c8a74d59a07a2386e2e77055a4..d9ae05a491d5593befa3205330b3a8a2c3a9641e 100644 (file)
@@ -1,3 +1,11 @@
+2011-05-13  Kai Tietz  <ktietz@redhat.com>
+
+       PR middle-end/48984
+       * gimplify.c (gimplify_expr): Check for boolean_type_node instead
+       for BOOLEAN_TYPE for TRUTH-NOT/AND/OR/XOR.
+       (gimple_boolify): Check for cast for boolean_type_node instead for
+       BOOLEAN_TYPE.
+
 2011-05-13  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/48172
index c54d3b5dcfcff5868cf5c5af5f35bf1270a57865..33a76a266a8ca536b97f0f60eeca2e43e0a4c348 100644 (file)
@@ -2848,7 +2848,7 @@ gimple_boolify (tree expr)
     default:
       /* Other expressions that get here must have boolean values, but
         might need to be converted to the appropriate mode.  */
-      if (TREE_CODE (type) == BOOLEAN_TYPE)
+      if (type == boolean_type_node)
        return expr;
       return fold_convert_loc (loc, boolean_type_node, expr);
     }
@@ -6754,7 +6754,7 @@ gimplify_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p,
          }
 
        case TRUTH_NOT_EXPR:
-         if (TREE_CODE (TREE_TYPE (*expr_p)) != BOOLEAN_TYPE)
+         if (TREE_TYPE (*expr_p) != boolean_type_node)
            {
              tree type = TREE_TYPE (*expr_p);
              *expr_p = fold_convert (type, gimple_boolify (*expr_p));
@@ -7199,7 +7199,7 @@ gimplify_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p,
               fold_truth_not_expr) happily uses operand type and doesn't
               automatically uses boolean_type as result, we need to keep
               orignal type.  */
-           if (TREE_CODE (org_type) != BOOLEAN_TYPE)
+           if (org_type != boolean_type_node)
              {
                *expr_p = fold_convert (org_type, *expr_p);
                ret = GS_OK;