This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [tree-ssa] RFC - tree vectorizer

> It seems to me that adding it as PTR GTY ((skip (""))) aux; void be
> a bit cleaner.

thanks! I switched to this solution.


                      Zdenek Dvorak                                    
                      <rakdver@atrey.karlin.m        To:       Devang Patel <>
            >                    cc:       Dorit Naishlos/Haifa/IBM@IBMIL, David Edelsohn <>,
                                                      Diego Novillo <>,, Pop Sébastian
                      30/12/2003 20:32                <>, Geoff Keating <>
                                                     Subject:  Re: [tree-ssa] RFC - tree vectorizer


> >      With respect to this last change in tree-flow.h - I added a new
> >field
> >to stmt_ann in order to record information per stmt during
> >vectorization.

It seems to me that adding it as PTR GTY ((skip (""))) aux; void be
a bit cleaner.

> > I
> >wanted to add a field similar to the "void *aux" in 'struct loop' for
> >example, but I guess that won't be possible as it is managed by the
> >ggc?

I don't quite understand this; struct loop is not garbage collected,
whereas the tree annotations are.  Anyway none of this matters as long
as you only use it inside the pass and do not want the data to survive
across garbage collection.

> >The other option is to use a stmt ID; since that's currently not
> >available,
> >I guess I'd have to add an int field and assign IDs myself / use a hash
> >table. Recommendations?

Perhaps you might use ssa name versions instead (there may be more
definitions per statement, which may make it a bit complicated,

> >              /* CHECKME: better check if bb belongs to the loop?  */
> I use bitmaps in the loop versioning code I've.
>   bitmap blocks_in_loop_map;
>   blocks_in_loop_map = BITMAP_XMALLOC ();
>   for (i = 0; i < loop->num_nodes; i++)
>       bitmap_set_bit (blocks_in_loop_map, bb[i]->index);
>   ...
>   if (!bitmap_bit_p (blocks_in_loop_map, b->index))
>    loop_entry_block = tree_split_edge (e);
>   ...
>   BITMAP_XFREE (blocks_in_loop_map);

Not sure what you want to acieve here; but flow_bb_inside_loop_p
might do what you want.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]