OSDN Git Service

2007-02-15 Sandra Loosemore <sandra@codesourcery.com>
[pf3gnuchains/gcc-fork.git] / gcc / tree-vrp.c
index fffeefc..b3223a5 100644 (file)
@@ -3747,9 +3747,9 @@ stmt_interesting_for_vrp (tree stmt)
          && (INTEGRAL_TYPE_P (TREE_TYPE (lhs))
              || POINTER_TYPE_P (TREE_TYPE (lhs)))
          && ((TREE_CODE (rhs) == CALL_EXPR
-              && TREE_CODE (TREE_OPERAND (rhs, 0)) == ADDR_EXPR
-              && DECL_P (TREE_OPERAND (TREE_OPERAND (rhs, 0), 0))
-              && DECL_IS_BUILTIN (TREE_OPERAND (TREE_OPERAND (rhs, 0), 0)))
+              && TREE_CODE (CALL_EXPR_FN (rhs)) == ADDR_EXPR
+              && DECL_P (TREE_OPERAND (CALL_EXPR_FN (rhs), 0))
+              && DECL_IS_BUILTIN (TREE_OPERAND (CALL_EXPR_FN (rhs), 0)))
              || ZERO_SSA_OPERANDS (stmt, SSA_OP_ALL_VIRTUALS)))
        return true;
     }
@@ -4242,9 +4242,9 @@ vrp_visit_stmt (tree stmt, edge *taken_edge_p, tree *output_p)
         for deriving ranges, with the obvious exception of calls to
         builtin functions.  */
       if ((TREE_CODE (rhs) == CALL_EXPR
-          && TREE_CODE (TREE_OPERAND (rhs, 0)) == ADDR_EXPR
-          && DECL_P (TREE_OPERAND (TREE_OPERAND (rhs, 0), 0))
-          && DECL_IS_BUILTIN (TREE_OPERAND (TREE_OPERAND (rhs, 0), 0)))
+          && TREE_CODE (CALL_EXPR_FN (rhs)) == ADDR_EXPR
+          && DECL_P (TREE_OPERAND (CALL_EXPR_FN (rhs), 0))
+          && DECL_IS_BUILTIN (TREE_OPERAND (CALL_EXPR_FN (rhs), 0)))
          || ZERO_SSA_OPERANDS (stmt, SSA_OP_ALL_VIRTUALS))
        return vrp_visit_assignment (stmt, output_p);
     }