tree-dfa.c (referenced_vars, [...]): Use VEC instead of VARRAY.
* tree-dfa.c (referenced_vars, add_referenced_var): Use VEC instead of VARRAY. * tree-flow.h (num_referenced_var, referenced_var): Likewise. * tree-into-ssa.c (mark_def_site_blocks): Likewise. * tree-ssa.c (init_tree_ssa, delete_tree_ssa): Likewise. * tree-tailcall.c (suitable_for_tail_opt_p): Likewise. From-SVN: r99393
This commit is contained in:
parent
e956d18242
commit
2d4d14ac39
6 changed files with 23 additions and 17 deletions
|
@ -1,3 +1,12 @@
|
|||
2005-05-08 Kazu Hirata <kazu@cs.umass.edu>
|
||||
|
||||
* tree-dfa.c (referenced_vars, add_referenced_var): Use VEC
|
||||
instead of VARRAY.
|
||||
* tree-flow.h (num_referenced_var, referenced_var): Likewise.
|
||||
* tree-into-ssa.c (mark_def_site_blocks): Likewise.
|
||||
* tree-ssa.c (init_tree_ssa, delete_tree_ssa): Likewise.
|
||||
* tree-tailcall.c (suitable_for_tail_opt_p): Likewise.
|
||||
|
||||
2005-05-08 Stephane Carrez <stcarrez@nerim.fr>
|
||||
|
||||
PR target/16925
|
||||
|
|
|
@ -84,7 +84,7 @@ static void add_referenced_var (tree, struct walk_state *);
|
|||
/* Global declarations. */
|
||||
|
||||
/* Array of all variables referenced in the function. */
|
||||
varray_type referenced_vars;
|
||||
VEC(tree,gc) *referenced_vars;
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
|
@ -558,7 +558,7 @@ add_referenced_var (tree var, struct walk_state *walk_state)
|
|||
if (slot)
|
||||
*slot = (void *) var;
|
||||
v_ann->uid = num_referenced_vars;
|
||||
VARRAY_PUSH_TREE (referenced_vars, var);
|
||||
VEC_safe_push (tree, gc, referenced_vars, var);
|
||||
|
||||
/* Global variables are always call-clobbered. */
|
||||
if (is_global_var (var))
|
||||
|
|
|
@ -406,10 +406,10 @@ static inline void set_phi_nodes (basic_block, tree);
|
|||
Global declarations
|
||||
---------------------------------------------------------------------------*/
|
||||
/* Array of all variables referenced in the function. */
|
||||
extern GTY(()) varray_type referenced_vars;
|
||||
extern GTY(()) VEC(tree,gc) *referenced_vars;
|
||||
|
||||
#define num_referenced_vars VARRAY_ACTIVE_SIZE (referenced_vars)
|
||||
#define referenced_var(i) VARRAY_TREE (referenced_vars, i)
|
||||
#define num_referenced_vars VEC_length (tree, referenced_vars)
|
||||
#define referenced_var(i) VEC_index (tree, referenced_vars, i)
|
||||
|
||||
/* Array of all SSA_NAMEs used in the function. */
|
||||
extern GTY(()) VEC(tree,gc) *ssa_names;
|
||||
|
|
|
@ -1668,7 +1668,7 @@ mark_def_site_blocks (sbitmap interesting_blocks)
|
|||
struct mark_def_sites_global_data mark_def_sites_global_data;
|
||||
|
||||
/* Allocate memory for the DEF_BLOCKS hash table. */
|
||||
def_blocks = htab_create (VARRAY_ACTIVE_SIZE (referenced_vars),
|
||||
def_blocks = htab_create (VEC_length (tree, referenced_vars),
|
||||
def_blocks_hash, def_blocks_eq, def_blocks_free);
|
||||
|
||||
for (i = 0; i < num_referenced_vars; i++)
|
||||
|
|
|
@ -786,7 +786,7 @@ err:
|
|||
void
|
||||
init_tree_ssa (void)
|
||||
{
|
||||
VARRAY_TREE_INIT (referenced_vars, 20, "referenced_vars");
|
||||
referenced_vars = VEC_alloc (tree, gc, 20);
|
||||
call_clobbered_vars = BITMAP_ALLOC (NULL);
|
||||
addressable_vars = BITMAP_ALLOC (NULL);
|
||||
init_ssanames ();
|
||||
|
@ -827,16 +827,13 @@ delete_tree_ssa (void)
|
|||
}
|
||||
|
||||
/* Remove annotations from every referenced variable. */
|
||||
if (referenced_vars)
|
||||
for (i = 0; i < num_referenced_vars; i++)
|
||||
{
|
||||
for (i = 0; i < num_referenced_vars; i++)
|
||||
{
|
||||
tree var = referenced_var (i);
|
||||
ggc_free (var->common.ann);
|
||||
var->common.ann = NULL;
|
||||
}
|
||||
referenced_vars = NULL;
|
||||
tree var = referenced_var (i);
|
||||
ggc_free (var->common.ann);
|
||||
var->common.ann = NULL;
|
||||
}
|
||||
VEC_free (tree, gc, referenced_vars);
|
||||
|
||||
fini_ssanames ();
|
||||
fini_phinodes ();
|
||||
|
|
|
@ -139,9 +139,9 @@ suitable_for_tail_opt_p (void)
|
|||
|
||||
/* No local variable nor structure field should be call-clobbered. We
|
||||
ignore any kind of memory tag, as these are not real variables. */
|
||||
for (i = 0; i < (int) VARRAY_ACTIVE_SIZE (referenced_vars); i++)
|
||||
for (i = 0; i < (int) num_referenced_vars; i++)
|
||||
{
|
||||
tree var = VARRAY_TREE (referenced_vars, i);
|
||||
tree var = VEC_index (tree, referenced_vars, i);
|
||||
|
||||
if (!(TREE_STATIC (var) || DECL_EXTERNAL (var))
|
||||
&& (var_ann (var)->mem_tag_kind == NOT_A_TAG
|
||||
|
|
Loading…
Add table
Reference in a new issue