On Mon, Mar 24, 2014 at 1:46 PM, Yangfei (Felix) <felix.y...@huawei.com> 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.
>

Reply via email to