tree-flow.h (ref_contains_indirect_ref): Rename to array_ref_contains_indirect_ref.
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. From-SVN: r106499
This commit is contained in:
parent
086ed39d00
commit
8d66aecaff
@ -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
|
||||
|
@ -1407,32 +1407,34 @@ unmodifiable_var_p (tree 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
|
||||
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)
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -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 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);
|
||||
|
@ -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
|
||||
&& !ref_contains_indirect_ref (op1))
|
||||
&& !array_ref_contains_indirect_ref (op1))
|
||||
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
|
||||
@ -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
|
||||
&& !ref_contains_indirect_ref (TREE_VALUE (args)))
|
||||
&& !array_ref_contains_indirect_ref (TREE_VALUE (args)))
|
||||
estimate_iters_using_array (stmt, TREE_VALUE (args));
|
||||
|
||||
break;
|
||||
|
@ -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))
|
||||
|| ref_contains_indirect_ref (lhsop)
|
||||
|| TREE_CODE (rhsop) == CALL_EXPR)
|
||||
{
|
||||
lhs = get_constraint_for (lhsop, NULL);
|
||||
|
Loading…
Reference in New Issue
Block a user