mirror of git://gcc.gnu.org/git/gcc.git
tree-ssa-structalias.h (set_used_smts): Remove.
2008-07-07 Richard Guenther <rguenther@suse.de> * tree-ssa-structalias.h (set_used_smts): Remove. * tree-ssa-structalias.c (used_smts): Likewise. (set_used_smts): Likewise. * tree-ssa-alias.c (compute_flow_sensitive_aliasing): Remove call to set_used_smts. From-SVN: r137574
This commit is contained in:
parent
e5bae89b99
commit
bf87f41cae
|
@ -1,3 +1,11 @@
|
|||
2008-07-07 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
* tree-ssa-structalias.h (set_used_smts): Remove.
|
||||
* tree-ssa-structalias.c (used_smts): Likewise.
|
||||
(set_used_smts): Likewise.
|
||||
* tree-ssa-alias.c (compute_flow_sensitive_aliasing): Remove
|
||||
call to set_used_smts.
|
||||
|
||||
2008-07-07 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
* tree-ssa-structalias.c (struct variable_info): Add is_full_var flag.
|
||||
|
|
|
@ -2316,7 +2316,6 @@ compute_flow_sensitive_aliasing (struct alias_info *ai)
|
|||
tree ptr;
|
||||
|
||||
timevar_push (TV_FLOW_SENSITIVE);
|
||||
set_used_smts ();
|
||||
|
||||
for (i = 0; VEC_iterate (tree, ai->processed_ptrs, i, ptr); i++)
|
||||
{
|
||||
|
|
|
@ -4684,61 +4684,6 @@ set_uids_in_ptset (tree ptr, bitmap into, bitmap from, bool is_derefed,
|
|||
|
||||
static bool have_alias_info = false;
|
||||
|
||||
/* The list of SMT's that are in use by our pointer variables. This
|
||||
is the set of SMT's for all pointers that can point to anything. */
|
||||
static bitmap used_smts;
|
||||
|
||||
/* Due to the ordering of points-to set calculation and SMT
|
||||
calculation being a bit co-dependent, we can't just calculate SMT
|
||||
used info whenever we want, we have to calculate it around the time
|
||||
that find_what_p_points_to is called. */
|
||||
|
||||
/* Mark which SMT's are in use by points-to anything variables. */
|
||||
|
||||
void
|
||||
set_used_smts (void)
|
||||
{
|
||||
int i;
|
||||
varinfo_t vi;
|
||||
used_smts = BITMAP_ALLOC (&pta_obstack);
|
||||
|
||||
for (i = 0; VEC_iterate (varinfo_t, varmap, i, vi); i++)
|
||||
{
|
||||
tree var = vi->decl;
|
||||
varinfo_t withsolution = get_varinfo (find (i));
|
||||
tree smt;
|
||||
var_ann_t va;
|
||||
struct ptr_info_def *pi = NULL;
|
||||
|
||||
/* For parm decls, the pointer info may be under the default
|
||||
def. */
|
||||
if (TREE_CODE (vi->decl) == PARM_DECL
|
||||
&& gimple_default_def (cfun, var))
|
||||
pi = SSA_NAME_PTR_INFO (gimple_default_def (cfun, var));
|
||||
else if (TREE_CODE (var) == SSA_NAME)
|
||||
pi = SSA_NAME_PTR_INFO (var);
|
||||
|
||||
/* Skip the special variables and those that can't be aliased. */
|
||||
if (vi->is_special_var
|
||||
|| !SSA_VAR_P (var)
|
||||
|| (pi && !pi->memory_tag_needed)
|
||||
|| (TREE_CODE (var) == VAR_DECL && !may_be_aliased (var))
|
||||
|| !POINTER_TYPE_P (TREE_TYPE (var)))
|
||||
continue;
|
||||
|
||||
if (TREE_CODE (var) == SSA_NAME)
|
||||
var = SSA_NAME_VAR (var);
|
||||
|
||||
va = var_ann (var);
|
||||
if (!va)
|
||||
continue;
|
||||
|
||||
smt = va->symbol_mem_tag;
|
||||
if (smt && bitmap_bit_p (withsolution->solution, anything_id))
|
||||
bitmap_set_bit (used_smts, DECL_UID (smt));
|
||||
}
|
||||
}
|
||||
|
||||
/* Given a pointer variable P, fill in its points-to set, or return
|
||||
false if we can't.
|
||||
Rather than return false for variables that point-to anything, we
|
||||
|
|
|
@ -39,6 +39,5 @@ extern void dump_solution_for_var (FILE *, unsigned int);
|
|||
extern void debug_solution_for_var (unsigned int);
|
||||
extern void dump_sa_points_to_info (FILE *);
|
||||
extern void debug_sa_points_to_info (void);
|
||||
extern void set_used_smts (void);
|
||||
|
||||
#endif /* TREE_SSA_STRUCTALIAS_H */
|
||||
|
|
Loading…
Reference in New Issue