Hi Richard,
Thank you for the suggestion. I see that your patch is merged into trunk.
But I am still not sure that if we can pass "ivdep" to RTL. Can you shed
light on this please ?
For me, I want to do something on RTL with the loop pragma information.
Cheers,
Fei.
>
> On Mon, Mar 24, 2014 at 1:46 PM, Yangfei (Felix) <[email protected]>
> wrote:
> > Hello everyone,
> >
> > I'm thinking of the right way of adding some loop related pragmas to
> GCC.
> > An example:
> >
> > #pragma loop unroll = 2
> > for (i = 0; i < n; i ++)
> > {
> > Whatever...
> > }
> >
> > Here I want the unroll factor of the loop to be 2 when doing RTL loop
> unrolling.
> > But I find that it's kind of difficult to achieve this in GCC.
> > The reason is that the loop structures are initialized and finalized at
> > run
> time. Also the RTL expand phase is kind of complex and it does not care about
> loops.
> > So how to deliver the pragma information to RTL loop unrolling pass?
> What the the elegant way of doing this?
> > Can anyone give some suggestions on this please?
>
> Look at how we implement #pragma ivdep (see replace_loop_annotate () and
> fortran/trans-stmt.c where it builds ANNOTATE_EXPR).
>
> Richard.
>
> > Many thanks.
> >