This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Jump threading and loops
- From: Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>
- To: Jan Hubicka <hubicka at ucw dot cz>
- Cc: law at redhat dot com, gcc at gcc dot gnu dot org
- Date: Fri, 21 Nov 2003 00:46:36 +0100
- Subject: Re: Jump threading and loops
- References: <20031120233516.GC341@atrey.karlin.mff.cuni.cz>
Hello,
> Jump threading is one of optimizations that has potential of turning
> loop into irreducible region. THis appears to happen in several cases
> in the gcc bootstrap and seems to be reason for warning on uninitialized
> variable i in reload1.c for instance (I am going to look into this
> deeper). Would be possible for you to consider some strategy of not
> doing the forwarding when it breaks loops? It seems to me that loop
> optimization is more important than threading in this particular case..
I also think it is a good idea to avoid this, and it it trivial to do --
just mark back edges, and forbid threading over basic blocks that are
entered by one.
Zdenek