OSDN Git Service

2005-11-04 Richard Guenther <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 4 Nov 2005 18:02:51 +0000 (18:02 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 4 Nov 2005 18:02:51 +0000 (18:02 +0000)
* tree-flow.h (ref_contains_indirect_ref): Rename to
array_ref_contains_indirect_ref.
* tree-flow-inline.h (ref_contains_indirect_ref): Likewise.
(array_ref_contains_indirect_ref): Make comment match the code
and vice-versa.
(ref_contains_array_ref): Likewise.
* tree-ssa-structalias.c (find_func_aliases): Remove call to
ref_contains_indirect_ref.
* tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
Rename calls to ref_contains_indirect_ref.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106499 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/tree-flow-inline.h
gcc/tree-flow.h
gcc/tree-ssa-loop-niter.c
gcc/tree-ssa-structalias.c

index ed7ad25..5c49c95 100644 (file)
@@ -1,3 +1,16 @@
+2005-11-04  Richard Guenther  <rguenther@suse.de>
+
+       * tree-flow.h (ref_contains_indirect_ref): Rename to
+       array_ref_contains_indirect_ref.
+       * tree-flow-inline.h (ref_contains_indirect_ref): Likewise.
+       (array_ref_contains_indirect_ref): Make comment match the code
+       and vice-versa.
+       (ref_contains_array_ref): Likewise.
+       * tree-ssa-structalias.c (find_func_aliases): Remove call to
+       ref_contains_indirect_ref.
+       * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
+       Rename calls to ref_contains_indirect_ref.
+
 2005-11-04 Paul Brook  <paul@codesourcery.com>
 
        * config/arm/arm.c (arm_load_pic_register): Pass extra reg to
 2005-11-04 Paul Brook  <paul@codesourcery.com>
 
        * config/arm/arm.c (arm_load_pic_register): Pass extra reg to
index d8b57a5..e31db44 100644 (file)
@@ -1407,32 +1407,34 @@ unmodifiable_var_p (tree var)
   return TREE_READONLY (var) && (TREE_STATIC (var) || DECL_EXTERNAL (var));
 }
 
   return TREE_READONLY (var) && (TREE_STATIC (var) || DECL_EXTERNAL (var));
 }
 
-/* Return true if REF, an ARRAY_REF, has an INDIRECT_REF somewhere in
-   it.  */
+/* Return true if REF, an ARRAY_REF, has an INDIRECT_REF somewhere in it.  */
 
 static inline bool
 
 static inline bool
-ref_contains_indirect_ref (tree ref)
+array_ref_contains_indirect_ref (tree ref)
 {
 {
-  while (handled_component_p (ref))
-    {
-      if (TREE_CODE (ref) == INDIRECT_REF)
-       return true;
-      ref = TREE_OPERAND (ref, 0);
-    }
-  return false;
+  gcc_assert (TREE_CODE (ref) == ARRAY_REF);
+
+  do {
+    ref = TREE_OPERAND (ref, 0);
+  } while (handled_component_p (ref));
+
+  return TREE_CODE (ref) == INDIRECT_REF;
 }
 
 }
 
-/* Return true if REF, a COMPONENT_REF, has an ARRAY_REF somewhere in it.  */
+/* Return true if REF, a handled component reference, has an ARRAY_REF
+   somewhere in it.  */
 
 static inline bool
 ref_contains_array_ref (tree ref)
 {
 
 static inline bool
 ref_contains_array_ref (tree ref)
 {
-  while (handled_component_p (ref))
-    {
-      if (TREE_CODE (ref) == ARRAY_REF)
-       return true;
-      ref = TREE_OPERAND (ref, 0);
-    }
+  gcc_assert (handled_component_p (ref));
+
+  do {
+    if (TREE_CODE (ref) == ARRAY_REF)
+      return true;
+    ref = TREE_OPERAND (ref, 0);
+  } while (handled_component_p (ref));
+
   return false;
 }
 
   return false;
 }
 
index 135a4e8..389ec8f 100644 (file)
@@ -614,7 +614,7 @@ extern void count_uses_and_derefs (tree, tree, unsigned *, unsigned *, bool *);
 static inline subvar_t get_subvars_for_var (tree);
 static inline tree get_subvar_at (tree, unsigned HOST_WIDE_INT);
 static inline bool ref_contains_array_ref (tree);
 static inline subvar_t get_subvars_for_var (tree);
 static inline tree get_subvar_at (tree, unsigned HOST_WIDE_INT);
 static inline bool ref_contains_array_ref (tree);
-static inline bool ref_contains_indirect_ref (tree);
+static inline bool array_ref_contains_indirect_ref (tree);
 extern tree okay_component_ref_for_subvars (tree, unsigned HOST_WIDE_INT *,
                                            unsigned HOST_WIDE_INT *);
 static inline bool var_can_have_subvars (tree);
 extern tree okay_component_ref_for_subvars (tree, unsigned HOST_WIDE_INT *,
                                            unsigned HOST_WIDE_INT *);
 static inline bool var_can_have_subvars (tree);
index 5e35f4e..796991b 100644 (file)
@@ -1438,11 +1438,11 @@ infer_loop_bounds_from_undefined (struct loop *loop)
                /* For each array access, analyze its access function
                   and record a bound on the loop iteration domain.  */
                if (TREE_CODE (op1) == ARRAY_REF 
                /* For each array access, analyze its access function
                   and record a bound on the loop iteration domain.  */
                if (TREE_CODE (op1) == ARRAY_REF 
-                   && !ref_contains_indirect_ref (op1))
+                   && !array_ref_contains_indirect_ref (op1))
                  estimate_iters_using_array (stmt, op1);
 
                if (TREE_CODE (op0) == ARRAY_REF 
                  estimate_iters_using_array (stmt, op1);
 
                if (TREE_CODE (op0) == ARRAY_REF 
-                   && !ref_contains_indirect_ref (op0))
+                   && !array_ref_contains_indirect_ref (op0))
                  estimate_iters_using_array (stmt, op0);
 
                /* For each signed type variable in LOOP, analyze its
                  estimate_iters_using_array (stmt, op0);
 
                /* For each signed type variable in LOOP, analyze its
@@ -1494,7 +1494,7 @@ infer_loop_bounds_from_undefined (struct loop *loop)
                for (args = TREE_OPERAND (stmt, 1); args;
                     args = TREE_CHAIN (args))
                  if (TREE_CODE (TREE_VALUE (args)) == ARRAY_REF
                for (args = TREE_OPERAND (stmt, 1); args;
                     args = TREE_CHAIN (args))
                  if (TREE_CODE (TREE_VALUE (args)) == ARRAY_REF
-                     && !ref_contains_indirect_ref (TREE_VALUE (args)))
+                     && !array_ref_contains_indirect_ref (TREE_VALUE (args)))
                    estimate_iters_using_array (stmt, TREE_VALUE (args));
 
                break;
                    estimate_iters_using_array (stmt, TREE_VALUE (args));
 
                break;
index cee6502..aa912cb 100644 (file)
@@ -2865,7 +2865,6 @@ find_func_aliases (tree t, struct alias_info *ai)
             containing pointers, dereferences, and call expressions.  */
          if (POINTER_TYPE_P (TREE_TYPE (lhsop))
              || AGGREGATE_TYPE_P (TREE_TYPE (lhsop))
             containing pointers, dereferences, and call expressions.  */
          if (POINTER_TYPE_P (TREE_TYPE (lhsop))
              || AGGREGATE_TYPE_P (TREE_TYPE (lhsop))
-             || ref_contains_indirect_ref (lhsop)
              || TREE_CODE (rhsop) == CALL_EXPR)
            {
              lhs = get_constraint_for (lhsop, NULL);
              || TREE_CODE (rhsop) == CALL_EXPR)
            {
              lhs = get_constraint_for (lhsop, NULL);