Commit bf87f41c by Richard Guenther Committed by Richard Biener

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
parent e5bae89b
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.
(new_var_info): Set it to false.
(solution_set_add): Correctly handle pointers outside a var and
......
......@@ -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 */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment