This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [rfc] transfering number of iterations from trees to rtl (PR 32283)
- From: "Richard Guenther" <richard dot guenther at gmail dot com>
- To: "Mark Mitchell" <mark at codesourcery dot com>
- Cc: "Zdenek Dvorak" <rakdver at kam dot mff dot cuni dot cz>, gcc-patches at gcc dot gnu dot org
- Date: Mon, 31 Dec 2007 16:39:47 +0100
- Subject: Re: [rfc] transfering number of iterations from trees to rtl (PR 32283)
- References: <20071216202843.GA30341@kam.mff.cuni.cz> <4772A22E.3030300@codesourcery.com>
On Dec 26, 2007 7:49 PM, Mark Mitchell <mark@codesourcery.com> wrote:
> Zdenek Dvorak wrote:
>
> > A quicker, safer and dirtier way is to somehow record the information in
> > the IR on trees, and pick it up on RTL. For example, for the loop above
> > we could emit the following code:
> >
> > k = a + 16 * n;
> > builtin_loop_start(1, n);
> > for (p = a; p != k; p += 16)
> > {
> > builtin_loop_step(1);
> > *p = 0;
> > }
>
> FWIW, and without being an expert in this part of the compiler, this
> seems reasonable to me.
FWIW this doesn't look like a clean approach (and I don't think this form is any
more acceptable for stage3 than a patch preserving the on-the-side loop
information). I would rather see expansion sanitized to make preserving
loop information over it possible.
Richard.