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