This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH]: Verify alias info faster
- From: Diego Novillo <dnovillo at redhat dot com>
- To: Daniel Berlin <dberlin at dberlin dot org>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 12 Oct 2004 13:41:31 -0400
- Subject: Re: [PATCH]: Verify alias info faster
- Organization: Red Hat Canada
- References: <Pine.LNX.4.60.0410112030540.17752@dberlin.org>
On Mon, 2004-10-11 at 20:40, Daniel Berlin wrote:
> We could also verify this invariant, but i saw no reason to add that when
> we never checked it before (I could add such a check if it is wanted).
>
Actually, the very reason that it was never checked is enough to add a
new check :)
> +/* Verify that all name tags have different points to sets.
> + This algorithm takes advantage of the fact that every variable with the
> + same name tag must have the same points-to set.
> + So we check a single variable for each name tag, and verify that it's
>
s/it's/its/
> + points-to set is different from every other points-to set for other name
> + tags. */
>
> +static void
> +verify_name_tags (void)
> +{
> + size_t i;
> + size_t j;
> + size_t num_name_tags = 0;
> + bitmap first, second;
> +
> + VEC (tree) *name_tag_reps = NULL;
> + VEC (bitmap) *pt_vars_for_reps = NULL;
> + for (i = 0; i < num_ssa_names; i++)
> + {
> + if (ssa_name (i))
> + {
> + tree ptr = ssa_name (i);
> + struct ptr_info_def *pi = SSA_NAME_PTR_INFO (ptr);
> + if (!TREE_VISITED (ptr)
> + || !POINTER_TYPE_P (TREE_TYPE (ptr))
> + || !pi
> + || !pi->name_mem_tag
> + || TREE_VISITED (pi->name_mem_tag))
> + continue;
> + TREE_VISITED (pi->name_mem_tag) = 1;
> + if (pi->pt_vars != NULL)
> + {
> + VEC_safe_push (tree, name_tag_reps, ptr);
> + VEC_safe_push (bitmap, pt_vars_for_reps, pi->pt_vars);
> + }
> + num_name_tags++;
> +
> + }
> + }
>
Leave 1 blank line between the various chunks of logic. Makes the code
more readable. Otherwise OK.
Thanks. Diego.