This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Loop unrolling
- To: Lee Iverson <leei at ai dot sri dot com>
- Subject: Re: Loop unrolling
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Thu, 17 Sep 1998 19:48:37 -0600
- cc: Gerald Pfeifer <pfeifer at dbai dot tuwien dot ac dot at>, egcs at cygnus dot com, Scott A Crosby <crosby at qwes dot math dot cmu dot edu>
- Reply-To: law at cygnus dot com
In message <199809171822.LAA23671@Canada.AI.SRI.COM>you write:
> The technical problems are:
>
> 1) Semi-reliably determine that a loop terminates (the constraint is
> all one-sided in that we can never delete a loop unless we can
> prove that it terminates).
Absolutely correct.
> 2) Determining whether a loop is empty or not needs some kind of
> register lifetime information. Last I looked, this was not
> reliable at the time of loop unrolling. If this is no longer true,
> then I can resurrect some code to do this.
Maybe I misunderstood the kinds of loops people wanted to eliminate.
I thought if they were empty there was nothing but an increment of
the counter, and a condjump back to the counter increment.
Obviously we can not eliminate a loop if we can not prove doing so
is safe.
jeff