On Mon, Apr 14, 2014 at 4:45 PM, Eric Botcazou <ebotca...@adacore.com> wrote:
> Hi,
>
> this adds support for 2 optimization hints pertaining to loops in Ada, namely
> Loop_Optimize (No_Vector) and Loop_Optimize (Vector), by reusing the Ivdep
> approach in the middle-end (ANNOTATE_EXPR node) and directly setting the
> dont_vectorize and force_vectorize bits of the 'loop' structure.
>
> Tested on x86_64-suse-linux, OK for the mainline?

The loop flags copying should go into copy_loop_info instead of only to
copy_loops.  Jakub - I see you remap simduid on copy - you have to do
sth in copy_loop_info instead I suppose.  See the other callers.

Otherwise I'm fine with this patch.

Thanks,
Richard.

>
> 2014-04-14  Eric Botcazou  <ebotca...@adacore.com>
>
>         * cfgloop.h (struct loop): Move force_vectorize down.
>         * gimplify.c (gimple_boolify) <ANNOTATE_EXPR>: Handle new kinds.
>         (gimplify_expr) <ANNOTATE_EXPR>: Minor tweak.
>         * lto-streamer-in.c (input_cfg): Read dont_vectorize field.
>         * lto-streamer-out.c (output_cfg): Write dont_vectorize field.
>         * tree-cfg.c (replace_loop_annotate): Revamp and handle new kinds.
>         * tree-core.h (enum annot_expr_kind): Add new kind values.
>         * tree-inline.c (copy_loops): Copy dont_vectorize field and reorder.
>         * tree-pretty-print.c (dump_generic_node) <ANNOTATE_EXPR>: Handle new
>         kinds.
>         * tree.def (ANNOTATE_EXPR): Tweak comment.
> ada/
>         * gcc-interface/trans.c (gnat_gimplify_stmt): Propagate loop hints.
>
>
> 2014-04-14  Eric Botcazou  <ebotca...@adacore.com>
>
>         * gnat.dg/vect12.ad[sb]: New test.
>         * gnat.dg/vect13.ad[sb]: Likewise.
>
>
> --
> Eric Botcazou

Reply via email to