This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: LOOP_HEADER tree code?
- From: Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>
- To: Devang Patel <devang dot patel at gmail dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Wed, 25 Oct 2006 21:20:37 +0200
- Subject: Re: LOOP_HEADER tree code?
- References: <352a1fb20610251031l6294a090sceafabe83e1b98ef@mail.gmail.com>
Hello,
> >for project http://gcc.gnu.org/wiki/PreservingLoops, I am considering
> >introducing a tree LOOP_HEADER with single argument N (number of
> >iterations of the loop), that would be present in IL at the beginning of
> >header of each loop. I have following motivations:
> >
> >1) One of the goals of the project is to avoid recomputing number of
> > iterations of loops, and to keep this information (analysing # of
> > iterations is fairly expensive, and we recompute this information
> > quite a lot at the moment). To keep the information valid, we need
> > to prevent optimizations from destroying it (e.g., if the number
> > is n_1 = n_2 - 1, and this is the last use of n_1, we do not want
> > DCE to remove it); this is easy to achieve if n_1 would be the
> > argument of LOOP_HEADER. Without this tree node in IL, we would need
> > to handle this specially in DCE, and possibly also other optimizers.
> >2) This statement might make it simpler to ensure that various
> > optimizers update the loops correctly.
>
> However, various optimizer needs to know about this special tree node.
not really (not any more than they know about other tree codes that are
not interesting for them).
Zdenek
> Or am I missing something?
>
> >
> >I am not quite sure whether this is a good idea, though. Are there some
> >reasons why not to do this, or any other problems with the idea?
> >
> >Zdenek
>
>
> -
> Devang